溫馨提示×

基于TensorFlow的卷積神經網絡實現

小樊
105
2024-03-01 18:07:52
欄目: 深度學習

以下是使用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))

# 在這里可以加載測試數據并計算準確率
# 這里省略了測試數據加載和準確率計算過程

這是一個簡單的卷積神經網絡模型,可以根據自己的數據集和任務需求進行修改和擴展。您可以根據實際情況修改網絡結構、損失函數和優化器等。希望對您有所幫助!

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女