Python 3.x 中如何使用tensorflow模組進行深度學習
pip install tensorflow
import tensorflow as tf import numpy as np
以下是一個簡單的範例程式碼,展示如何使用TensorFlow建立一個簡單的全連接神經網路:
# 定义输入数据 x = tf.placeholder(tf.float32, shape=[None, 784]) y_true = tf.placeholder(tf.float32, shape=[None, 10]) # 定义隐藏层 hidden_layer = tf.layers.dense(x, 256, activation=tf.nn.relu) # 定义输出层 logits = tf.layers.dense(hidden_layer, 10) # 定义损失函数 loss = tf.losses.softmax_cross_entropy(onehot_labels=y_true, logits=logits) # 定义优化器 optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.01) train_op = optimizer.minimize(loss)
以下是一個簡單的範例程式碼,展示如何準備MNIST手寫數字資料集,並使用隨機梯度下降法(SGD)來訓練模型:
# 下载MNIST数据集 from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_sets("MNIST_data/", one_hot=True) # 定义训练参数 epochs = 10 batch_size = 128 # 创建会话 with tf.Session() as sess: sess.run(tf.global_variables_initializer()) # 开始训练 for epoch in range(epochs): total_batches = mnist.train.num_examples // batch_size for batch in range(total_batches): batch_x, batch_y = mnist.train.next_batch(batch_size) # 训练模型 sess.run(train_op, feed_dict={x: batch_x, y_true: batch_y}) # 每轮结束后评估模型在测试集上的准确率 accuracy = sess.run(accuracy_op, feed_dict={x: mnist.test.images, y_true: mnist.test.labels}) print("Epoch: {}, Accuracy: {}".format(epoch + 1, accuracy))
以下是一個簡單的範例程式碼,展示如何使用訓練好的模型評估測試資料集的準確率:
# 在模型建立后添加以下代码: correct_prediction = tf.equal(tf.argmax(logits, 1), tf.argmax(y_true, 1)) accuracy_op = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
以上是Python 3.x 中如何使用tensorflow模組進行深度學習的詳細內容。更多資訊請關注PHP中文網其他相關文章!