TensorFlow2.0初体验吧。之前搞定了cuda环境,所以是用支持GPU的版本跑的,网上的教程大多是用tf1.x写的,所以想自己看着官网的文档来写一写2.0的教程。
安装十分简单:
pip install tensorflow-gpu==2.0.0-beta1
新版本TensorFlow已经支持cuda10.0(谢天谢地)。
下面是官网给的示例代码:
import tensorflow as tf
mnist = tf.keras.datasets.mnist
(x_train, y_train),(x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0
model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(input_shape=(28, 28)),
tf.keras.layers.Dense(512, activation=tf.nn.relu),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(10, activation=tf.nn.softmax)
])
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
model.fit(x_train, y_train, epochs=5)
model.evaluate(x_test, y_test)
搭建一个程序共有五步:
1.创建Sequential模型;
2.添加所需要的神经层;在示例程序中,创建模型和添加神经层同步完成了,我们还可以用model.add()来添加神经层,并设置其功能,形状,激活函数,留存率等属性;
3使用.compile方法确定模型训练结构;有三个重要参数:
optimizer:此对象会指定训练过程。从 tf.train 模块向其传递优化器实例;
loss:要在优化期间最小化的函数。常见选择包括均方误差 (mse)、categorical_crossentropy 和 binary_crossentropy。损失函数由名称或通过从 tf.keras.losses 模块传递可调用对象来指定。
metrics:用于监控训练。它们是 tf.keras.metrics 模块中的字符串名称或可调用对象。
4使用.fit方法使模型与训练数据“拟合”;还有更多参数,例如:
model.fit(data, labels, epochs=10, batch_size=32,
validation_data=(val_data, val_labels))
5.predict或evaluate方法进行预测。
详细信息可以在下面链接中找到:
https://tensorflow.google.cn/api_docs/python/tf/keras/Model#fit
(具体方法的使用有点复杂,我会在后面的博文中仔细分析学习)