日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 卷积神经网络 >内容正文

卷积神经网络

深度学习-Tensorflow2.2-卷积神经网络{3}-卷积神经网络CNN示例-12

發布時間:2024/9/15 卷积神经网络 74 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深度学习-Tensorflow2.2-卷积神经网络{3}-卷积神经网络CNN示例-12 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.





import tensorflow as tf from tensorflow import keras import matplotlib.pyplot as plt %matplotlib inline import numpy as np # 下載數據集并劃分為目標集和測試集 (train_image,train_lable),(test_image,test_label) = tf.keras.datasets.fashion_mnist.load_data() train_image.shape

# 在最后一個維度擴張,擴張成一個4維數據 train_image = np.expand_dims(train_image,-1) train_image.shape # (None,hight,witch,chanal)1表示黑白3彩色

test_image = np.expand_dims(test_image,-1) # 建立模型 model = tf.keras.Sequential()# 順序模型 model.add(tf.keras.layers.Conv2D(32,(3,3),input_shape=train_image.shape[1:],activation="relu"))# 建立卷積層 #每層建立32個卷積核,卷積核大小(3*3) #輸入圖片的形狀如(60000,28,28,1除去第0位的圖片個數)就是28*28*1 # 激活函數relu model.add(tf.keras.layers.MaxPool2D())# 最大池化默認2*2形狀 model.add(tf.keras.layers.Conv2D(64,(3,3),activation="relu"))# 再次添加卷積層2的n次方形式添加卷積核 model.add(tf.keras.layers.GlobalAveragePooling2D())# 全局平均值池化 model.add(tf.keras.layers.Dense(10,activation="softmax"))# 輸出 model.summary()

# 訓練模型 model.compile(optimizer="adam",loss="sparse_categorical_crossentropy",metrics=["acc"]) history = model.fit(train_image,train_lable,epochs=30,validation_data=(test_image,test_label))

history.history.keys()

# 正確率(通過繪圖得train數據得分不高未達到擬合 test數據過擬合) plt.plot(history.epoch,history.history.get("acc"),label="acc") plt.plot(history.epoch,history.history.get("val_acc"),label="val_acc")

# 誤差 plt.plot(history.epoch,history.history.get("loss"),label="loss") plt.plot(history.epoch,history.history.get("val_loss"),label="val_loss")

優化模型

# CNN優化增加卷積層及抑制擬合:增大測試訓練集隱藏單元數增大擬合,降低抑制數據擬合# 建立模型 model = tf.keras.Sequential() model.add(tf.keras.layers.Conv2D(64,(3,3),input_shape=train_image.shape[1:],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.Dropout(0.5)) model.add(tf.keras.layers.Conv2D(512,(3,3),activation="relu",padding="same")) model.add(tf.keras.layers.Conv2D(512,(3,3),activation="relu",padding="same")) model.add(tf.keras.layers.Dropout(0.5)) model.add(tf.keras.layers.GlobalAveragePooling2D()) model.add(tf.keras.layers.Dense(256,activation="relu")) model.add(tf.keras.layers.Dense(10,activation="softmax"))

總結

以上是生活随笔為你收集整理的深度学习-Tensorflow2.2-卷积神经网络{3}-卷积神经网络CNN示例-12的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。