六步法利用tensorflow搭建神经网络八股
1.准备工作
Ⅰ.已安装python3环境的电脑
博主这里安装的是3.8.10
Ⅱ.python开发ide(如pycharm、jupyter notebook等)
博主这里使用pycharm做演示
创建项目时记得选择这个选项(第一次需要指定你电脑上python安装的目录)
这选项的作用就是使用电脑上已存在的python环境,不然每个项目都会创建一个独立的虚拟环境。
Ⅲ.在python环境中安装tensorflow2.x库
左上角File->Setting->Project:(项目名)->Python Interpreter->点击+号->搜索tensorflow->等待安装完成。
1.正式开发
Ⅰ.import
这部分导入要使用到的工具包,从tensorflow中导入keras。
from tensorflow import keras
Ⅱ.train test
这部分加载tensorflow中内置的mnist数据集,并将训练集像素值(0~255 范围内)缩放到[0,1]区间内 ,减少训练计算量。
(x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data()
x_train, x_test = x_train/255.0, x_test/255.0
Ⅲ.model = tf.keras.models.Sequential()
这部分利用Sequential()函数,搭建网络结构,最后一个全连接第一个参数对应分类数。
model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dense(10, activation='softmax')
])
Ⅳ.model.compile()
这部分利用compile()函数, 设置神经网络的优化器、损失函数、和准确率的数值类型。
model.compile(optimizer='adam',
loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=False),
metrics=['sparse_categorical_accuracy'])
Ⅴ.model.fit()
这部分利用fit()函数, 将训练集喂入神经网络,设定epochs和batch_size参数, 指定验证集和验证频率
model.fit(x_train, y_train, epochs=10, batch_size=32, validation_data=(x_test, y_test), validation_freq=1)
Ⅵ.model.summary()
这部分利用summary()函数, 将训练过程可视化,效果如下
3.完整代码
import tensorflow as tf
(x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data()
x_train, x_test = x_train/255.0, x_test/255.0
model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dense(10, activation='softmax')
])
model.compile(optimizer='adam',
loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=False),
metrics=['sparse_categorical_accuracy'])
model.fit(x_train, y_train, epochs=10, batch_size=32, validation_data=(x_test, y_test), validation_freq=1)
model.summary()