How to use the tensorflow module for deep learning in Python 3.x
pip install tensorflow
import tensorflow as tf import numpy as np
The following is a simple sample code that shows how to use TensorFlow to build a simple fully connected neural network:
# 定义输入数据 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)
The following is a simple sample code that shows how to prepare the MNIST handwritten digits dataset and use stochastic gradient descent (SGD) to train the model:
# 下载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))
The following is a simple sample code that shows how to use the trained model to evaluate the accuracy of the test data set:
# 在模型建立后添加以下代码: correct_prediction = tf.equal(tf.argmax(logits, 1), tf.argmax(y_true, 1)) accuracy_op = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
The above is the detailed content of How to use tensorflow module for deep learning in Python 3.x. For more information, please follow other related articles on the PHP Chinese website!