Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 IMDB 데이터 세트를 다운로드하고 탐색하는 데 Tensorflow를 어떻게 사용할 수 있습니까?


Tensorflow는 Google에서 제공하는 기계 학습 프레임워크입니다. 알고리즘, 딥 러닝 애플리케이션 등을 구현하기 위해 Python과 함께 사용되는 오픈 소스 프레임워크입니다. 연구 및 생산 목적으로 사용됩니다.

NumPy와 다차원 배열을 사용하기 때문입니다. 이러한 다차원 배열은 '텐서'라고도 합니다. 이 프레임워크는 심층 신경망 작업을 지원합니다. 확장성이 뛰어나고 많은 인기 있는 데이터 세트와 함께 제공됩니다. GPU 계산을 사용하고 리소스 관리를 자동화합니다. 수많은 기계 학습 라이브러리와 함께 제공되며 잘 지원되고 문서화되어 있습니다. 이 프레임워크는 심층 신경망 모델을 실행하고 훈련하며 각 데이터 세트의 관련 특성을 예측하는 애플리케이션을 생성하는 기능을 가지고 있습니다.

'tensorflow' 패키지는 아래 코드 줄을 사용하여 Windows에 설치할 수 있습니다. -

pip 설치 텐서플로

Tensor는 TensorFlow에서 사용되는 데이터 구조입니다. 흐름도에서 가장자리를 연결하는 데 도움이 됩니다. 이 흐름도를 '데이터 흐름 그래프'라고 합니다. 텐서는 다차원 배열 또는 목록에 불과합니다. 세 가지 주요 속성을 사용하여 식별할 수 있습니다.

'IMDB' 데이터세트에는 50,000개 이상의 영화에 대한 리뷰가 포함되어 있습니다. 이 데이터세트는 일반적으로 자연어 처리와 관련된 작업에 사용됩니다.

Google Colaboratory를 사용하여 아래 코드를 실행하고 있습니다. Google Colab 또는 Colaboratory는 브라우저를 통해 Python 코드를 실행하는 데 도움이 되며 구성이 필요 없고 GPU(그래픽 처리 장치)에 대한 무료 액세스가 필요합니다. Colaboratory는 Jupyter Notebook을 기반으로 구축되었습니다.

다음은 코드입니다 -

예시

 matplotlib.pyplot을 pltimport로 가져오기 osimport 다시 가져오기 셧틸림 가져오기 문자열 가져오기 tensorflow.keras에서 tf로 tensorflow 가져오기 tensorflow.keras에서 레이어 가져오기 tensorflow.keras에서 손실 가져오기 tensorflow.keras에서 전처리 가져오기.experimental.preprocessing(버전은 TextVectorization 가져오기) print(tf.__version__)url ="https://ai.stanford.edu/~amaas/data/sentiment/aclImdb_v1.tar.gz" 데이터세트 =tf.keras.utils.get_file("aclImdb_v1.tar.gz", url, untar=True, cache_dir='.', cache_subdir='')print("데이터 세트를 다운로드 중입니다.")dataset_dir =os.path.join(os.path.dirname(dataset), 'aclImdb')print( "다운로드한 폴더의 디렉토리는 ")os.listdir(dataset_dir)train_dir =os.path.join(dataset_dir, 'train')os.listdir(train_dir)print("데이터 샘플:")sample_file =os. path.join(train_dir, 'pos/1181_9.txt') open(sample_file)을 f로 사용:print(f.read())remove_dir =os.path.join(tr ain_dir, 'unsup')shutil.rmtree(remove_dir)batch_size =32seed =42print("배치 크기는 다음과 같습니다.")print(batch_size)raw_train_ds =tf.keras.preprocessing.text_dataset_from_directory( 'aclImdb/train', batch_size=_split_ =0.2, 부분 집합='훈련', 시드=시드) text_batch, label_batch in raw_train_ds.take(1):for i in range(3):print("검토", text_batch.numpy()[i]) print( "레이블", label_batch.numpy()[i]) print("레이블 0은 에 해당합니다.", raw_train_ds.class_names[0])print("레이블 1은 에 해당합니다.", raw_train_ds.class_names[1])raw_val_ds =tf.keras .preprocessing.text_dataset_from_directory( 'aclImdb/train', batch_size=batch_size, validation_split=0.2, 부분 집합='검증', seed=seed)raw_test_ds =tf.keras.preprocessing.text_dataset_from_directory('aclImdb/test' 크기 일괄 처리), /사전> 

코드 크레딧 - https://www.tensorflow.org/tutorials/keras/text_classification

출력

텐서플로 버전은 2.4.0데이터 세트를 다운로드 중입니다.다운로드된 폴더의 디렉터리는 데이터 샘플입니다.레이첼 그리피스가 수상 경력에 빛나는 이 단편 영화를 쓰고 감독합니다. 슬픔을 이겨내고 사랑하고 잃은 이들에 대한 기억을 간직하는 가슴 따뜻한 이야기. 15분이라는 짧은 시간 동안 그리피스는 짧은 시간 안에 많은 감정과 진실을 영화에 담아냅니다. 버드 팅웰은 아내의 죽음에 대처하기 위해 고군분투하는 홀아비 윌로 감동적인 연기를 선보입니다. 윌은 루스의 애완 암소 튤립을 돌보며 외로움과 무력감이라는 가혹한 현실에 직면합니다. 이 영화는 사랑하고 잃은 사람들에 대한 슬픔과 책임감을 보여줍니다. 좋은 촬영, 훌륭한 연출, 훌륭한 연기. 사랑하는 사람을 잃고 살아남은 모든 사람들에게 눈물을 가져다 줄 것입니다. 배치 크기는322개의 클래스에 속하는 25000개의 파일을 찾았습니다.20000개의 파일을 교육용으로 사용합니다.리뷰 b'"판데모니엄"은 더 멍청하게 나오는 공포 영화 스푸핑입니다 웃긴 것보다. 내가 당신에게 말할 때 나를 믿으십시오, 나는 코미디를 사랑합니다. 특히 코미디 스푸핑. "Airplane", "The Naked Gun" 3부작, "Blazing Saddles", "High Anxiety" 및 "Spaceballs"는 특정 장르를 스푸핑하는 내가 가장 좋아하는 코미디 중 일부입니다. "Pandemonium"은 그 영화들과 함께 있지 않습니다. 이 영화의 대부분의 장면은 영화가 그다지 재미있지 않았기 때문에 나를 기절시키는 침묵 속에 거기에 앉아 있게 했습니다. 영화에서 약간의 웃음이 있지만 코미디를 볼 때 몇 번보다 더 많이 웃을 것으로 예상하고 그것이 이 영화가 할 일입니다. 이런, "Scream"은 이 영화보다 웃음이 더 많았고 공포 영화에 더 가깝습니다. 얼마나 기이한 일입니까?*1/2(4개 중)'Label 0Review b"David Mamet은 매우 흥미롭고 매우 불평등한 감독입니다. 그의 첫 번째 영화 'House of Games'는 내가 가장 좋아했던 영화였고, 복잡한 상황에 처해 삶의 관점이 바뀌는 캐릭터와 보는 사람의 관점이 바뀌는 일련의 영화를 설정합니다. 제목에서 보는 사람의 마음을 평범한 범죄 드라마로 설정하려는 '살인'도 마찬가지입니다. 주요 캐릭터는 인종 차별 지역을 다루는 두 명의 경찰, 한 명의 유대인과 한 명의 아일랜드인입니다. 이스라엘 독립 전쟁의 고대 베테랑임을 증명하는 늙은 유대인 가게 주인의 살인은 마음과 마음에 유대인 정체성을 촉발시킵니다. 깨어나는 과정은 연극적이고 믿기 힘든데, 유대인 투사들의 집단은 오페라적이며, 형사가 최후의 폭력적 대결을 향해 걸어가는 방식은 한심하다. 영화의 끝 lf는 마멧 같은 영리하지만 인간의 감정적 관점에서 보면 실망스럽다. 조 만테냐와 윌리엄 메이시가 강렬한 연기를 보여주지만 이야기의 결점이 너무 뚜렷해서 쉽게 보상되지 않는다."라벨 0리뷰 b'뉴욕의 삶에 대한 그레이트 다큐멘터리 사상 최악의 테러 공격 당시 소방관들.. 그것만으로도 소장품은 꼭 봐야 하는 이유.. 나를 놀라게 한 것은 공격뿐만 아니라 일부 소방관들의 "고지방 다이어트"와 외모였다. . 제 생각에는 많은 의사들이 제 말에 동의할 것입니다. 육체적인 형태로 이 소방관들 중 일부는 60파운드가 넘는 장비를 들고 79층에 도착하지 못할 것입니다. 저는 이제 소방관을 더 존경하게 되었고 소방관이 되는 것이 인생을 바꾸는 직업이라는 것을 깨달았습니다. 프랑스인은 위대한 다큐멘터리를 만든 역사가 있고 이것이 바로 위대한 다큐멘터리.....'Label 1Label 0은 negLabel 1에 해당 2개의 클래스에 속하는 posFound 25000 파일에 해당합니다. 검증을 위해 5000개 파일 사용 .2개의 클래스에 속하는 25000개의 파일을 찾았습니다.

설명

  • 필수 패키지를 가져오고 별칭을 지정합니다.

  • ImdB 데이터는 Colab이 액세스할 수 있는 위치에 로드 및 저장됩니다.

  • 원본 데이터의 샘플이 콘솔에 표시됩니다.

  • 원본 데이터는 학습 데이터 세트와 테스트 데이터 세트로 분할됩니다.

  • 훈련 데이터는 모델을 구축하는 데 사용됩니다.

  • 주어진 데이터는 부정적인 리뷰 또는 긍정적인 값으로 분류됩니다.