Tensorflow2.0學習(一)Hello World!

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

(具體方法的使用有點複雜,我會在後面的博文中仔細分析學習)

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章