请发我一份卷积神经网络的代码
时间: 2023-10-15 19:02:40 浏览: 126
以下是一个简单的卷积神经网络的代码示例:
```python
import tensorflow as tf
# 定义输入层
x = tf.placeholder(tf.float32, shape=[None, 28, 28, 1])
# 定义第一层卷积层
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)
# 将池化层输出的张量展平为向量
pool2_flat = tf.reshape(pool2, [-1, 7 * 7 * 64])
# 定义全连接层
dense = tf.layers.dense(inputs=pool2_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_v2(labels=y, logits=logits))
# 定义优化器
optimizer = tf.train.AdamOptimizer().minimize(loss)
# 定义准确率
correct_prediction = tf.equal(tf.argmax(logits, 1), tf.argmax(y, 1))
accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
```
这个神经网络包括两个卷积层、两个池化层、一个全连接层和一个输出层。通过使用 TensorFlow 的高级 API(如 `tf.layers.conv2d` 和 `tf.layers.dense`),我们可以轻松地定义神经网络的各个层。注意,这个代码示例并不完整,需要添加更多代码才能完整地运行。
阅读全文