深度学习-Tensorflow2.2-卷积神经网络{3}-电影评论数据分类/猫狗数据集实例-15
生活随笔
收集整理的這篇文章主要介紹了
深度学习-Tensorflow2.2-卷积神经网络{3}-电影评论数据分类/猫狗数据集实例-15
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
電影評論數據分類
import tensorflow as tf from tensorflow import keras from tensorflow.keras import layers data = keras.datasets.imdb # 導入電影評論數據數據預處理
max_word = 10000 # 限制索引序號最大到10000 (x_train,y_train),(x_test,y_test) = data.load_data(num_words=max_word) x_train.shape,y_train.shape,x_test.shape,y_test.shape x_train[0] data.get_word_index() # 查看序號對應的單詞
處理文本的方法:把文本訓練成密集向量
貓狗數據集實例
import tensorflow as tf from tensorflow import keras from tensorflow.keras import layers import numpy as np import glob image_filenames = glob.glob("F:/py/ziliao/數據集/貓狗數據集/dc/train/*.jpg") # 獲取train數據所有圖片的路徑 dataset_test = glob.glob("F:/py/ziliao/數據集/貓狗數據集/dc/test/*.jpg") # 獲取test數據所有圖片的路徑 image_filenames = np.random.permutation(image_filenames) # 對圖片進行亂序 lables = list(map(lambda x: float(x.split("\\")[1].split(".")[0] == "cat"),image_filenames)) dataset = tf.data.Dataset.from_tensor_slices((image_filenames, lables)) dataset lables_test = list(map(lambda x: float(x.split("\\")[1].split(".")[0] == "cat"),dataset_test)) test_dataset = tf.data.Dataset.from_tensor_slices((dataset_test, lables_test)) test_dataset # 處理圖片函數 def _pre_read(img_filename, lable):image = tf.io.read_file(img_filename)image = tf.image.decode_jpeg(image, channels=3)image = tf.image.resize(image, (200, 200))image = tf.reshape(image, [200, 200, 3])image = tf.image.per_image_standardization(image)return image, lable dataset = dataset.map(_pre_read) dataset = dataset.shuffle(300) dataset = dataset.repeat() # 不填參數一直循環 dataset = dataset.batch(32) dataset test_dataset = test_dataset.map(_pre_read) test_dataset = test_dataset.shuffle(300) test_dataset = test_dataset.repeat() # 不填參數一直循環 test_dataset = test_dataset.batch(32) test_dataset # CNN優化增加卷積層及抑制擬合:增大測試訓練集隱藏單元數增大擬合,降低抑制數據擬合# 建立模型 model = tf.keras.Sequential() model.add(tf.keras.layers.Conv2D(64,(3,3),input_shape=(200,200,3),activation="relu",padding="same")) model.add(tf.keras.layers.Conv2D(64,(3,3),activation="relu",padding="same")) model.add(tf.keras.layers.Conv2D(64,(3,3),activation="relu",padding="same")) model.add(tf.keras.layers.MaxPool2D())model.add(tf.keras.layers.Dropout(0.5)) model.add(tf.keras.layers.Conv2D(128,(3,3),activation="relu",padding="same")) model.add(tf.keras.layers.Conv2D(128,(3,3),activation="relu",padding="same")) model.add(tf.keras.layers.MaxPool2D())model.add(tf.keras.layers.Dropout(0.5)) model.add(tf.keras.layers.Conv2D(256,(3,3),activation="relu",padding="same")) model.add(tf.keras.layers.Conv2D(256,(3,3),activation="relu",padding="same")) model.add(tf.keras.layers.MaxPool2D())model.add(tf.keras.layers.GlobalAveragePooling2D()) model.add(tf.keras.layers.Dense(256,activation="relu")) model.add(tf.keras.layers.Dense(1,activation="sigmoid")) model.summary() # 編譯模型 model.compile(optimizer="adam",loss="binary_crossentropy",metrics=["acc"]) # 訓練模型 history = model.fit(dataset,epochs=10,steps_per_epoch=781,validation_data=test_dataset,validation_steps=781)總結
以上是生活随笔為你收集整理的深度学习-Tensorflow2.2-卷积神经网络{3}-电影评论数据分类/猫狗数据集实例-15的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深度学习-Tensorflow2.2-批
- 下一篇: 深度学习-Tensorflow2.2-E