阅读量:2
以下是使用TensorFlow实现卷积神经网络的基本代码示例:
import tensorflow as tf # 定义输入数据的占位符 x = tf.placeholder(tf.float32, shape=[None, 28, 28, 1]) y = tf.placeholder(tf.float32, shape=[None, 10]) # 定义卷积神经网络的结构 conv1 = tf.layers.conv2d(inputs=x, filters=32, kernel_size=[5, 5], padding="same", activation=tf.nn.relu) pool1 = tf.layers.max_pooling2d(inputs=conv1, pool_size=[2, 2], strides=2) conv2 = tf.layers.conv2d(inputs=pool1, filters=64, kernel_size=[5, 5], padding="same", activation=tf.nn.relu) pool2 = tf.layers.max_pooling2d(inputs=conv2, pool_size=[2, 2], strides=2) flat = tf.layers.flatten(pool2) dense = tf.layers.dense(inputs=flat, units=1024, activation=tf.nn.relu) logits = tf.layers.dense(inputs=dense, units=10) # 定义损失函数和优化器 loss = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(labels=y, logits=logits)) optimizer = tf.train.AdamOptimizer(learning_rate=0.001).minimize(loss) # 训练模型 sess = tf.Session() sess.run(tf.global_variables_initializer()) # 在这里可以加载数据集并进行训练 # 这里省略了数据加载和训练过程 # 测试模型 correct_prediction = tf.equal(tf.argmax(logits, 1), tf.argmax(y, 1)) accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32)) # 在这里可以加载测试数据并计算准确率 # 这里省略了测试数据加载和准确率计算过程
这是一个简单的卷积神经网络模型,可以根据自己的数据集和任务需求进行修改和扩展。您可以根据实际情况修改网络结构、损失函数和优化器等。希望对您有所帮助!