建立 model_hand_h5_load.py
#encoding=utf-8
# 手動建立和載入 *.h5 模型和權重值
from __future__ import absolute_import, division, print_function, unicode_literals
import os
import tensorflow as tf
from tensorflow import keras
print(tf.version.version)
(train_images, train_labels), (test_images, test_labels) = tf.keras.datasets.mnist.load_data()
train_labels = train_labels[:1000]
test_labels = test_labels[:1000]
train_images = train_images[:1000].reshape(-1, 28 * 28) / 255.0
test_images = test_images[:1000].reshape(-1, 28 * 28) / 255.0
# # 定義乙個簡單的序列模型
# def create_model():
# model = tf.keras.models.sequential([
# keras.layers.dense(512, activation='relu', input_shape=(784,)),
# keras.layers.dropout(0.2),
# keras.layers.dense(10, activation='softmax')
# ])
# return model
# # 建立乙個基本的模型例項
# model = create_model()
# # 顯示模型的結構
# model.summary()
# 建立和原先儲存的my_model一樣結構的模型,並載入權重
new_model = tf.keras.models.load_model('my_model.h5')
new_model.summary()
# evaluate the model
loss,acc = new_model.evaluate(test_images, test_labels)
print("restored model, accuracy: %".format(100*acc))
print(new_model.predict(train_images[:1])) # [[2.5317803e-04 7.2924799e-04 1.4610562e-03 7.4771196e-02 9.9087765e-06
# 9.1992557e-01 2.5099045e-05 9.3348324e-04 1.7478490e-03 1.4335765e-04]]
tensorflow2定義很多模型對記憶體的釋放
keras作為tensorflow的後端,管理全域性狀態,它用來實現功能模型構建api和統一自動生成的層名。如果需要在乙個迴圈中建立許多模型,keras的全域性狀態消耗越來越多的記憶體。可以通過呼叫clear session 釋放全域性狀態,這有助於避免舊模型和層的混亂,特別是在記憶體有限的時候。在...
TensorFlow2學習八之資料增強
影象增強 對影象的簡單形變。tensorflow2影象增強函式tf.keras.preprocessing.image.imagedatagenerator image gen train tf.keras.preprocessing.image.imagedatagenerator rescale...
tensorflow2的資料載入
對於一些小型常用的資料集,tensorflow有相關的api可以呼叫 keras.datasets 經典資料集 1 boston housing 波士頓房價 2 mnist fasion mnist 手寫數字集 時髦品集 3 cifar10 100 物象分類 4 imdb 電影評價 使用 tf.da...