问题描述
我正在运行 Tensorflow 官方网站上的 CNN 示例 - (https://www.tensorflow.org/tutorials/images/cnn) 我已经按原样运行了笔记本,没有做任何修改。
我的准确率(训练准确率)停留在 10%。 我尝试仅使用前 10 个(图像、标签)对进行过拟合,但结果仍然相同。网络就是不学习。
这是我的 model.summary() -
Model: "sequential"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
conv2d (Conv2D) (None,30,32) 896
_________________________________________________________________
max_pooling2d (MaxPooling2D) (None,15,32) 0
_________________________________________________________________
conv2d_1 (Conv2D) (None,13,64) 18496
_________________________________________________________________
max_pooling2d_1 (MaxPooling2 (None,6,64) 0
_________________________________________________________________
conv2d_2 (Conv2D) (None,4,64) 36928
_________________________________________________________________
flatten (Flatten) (None,1024) 0
_________________________________________________________________
dense (Dense) (None,64) 65600
_________________________________________________________________
dense_1 (Dense) (None,10) 650
=================================================================
Total params: 122,570
Trainable params: 122,570
Non-trainable params: 0
这是我的编译和拟合代码:-
model.compile(optimizer='adam',loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),metrics=['accuracy'])
history = model.fit(train_images,train_labels,epochs=10,validation_data=(test_images,test_labels))
模型训练日志:-
Epoch 1/10
1563/1563 [==============================] - 14s 9ms/step - loss: 2.3072 - accuracy: 0.0993 - val_loss: 2.3026 - val_accuracy: 0.0994
Epoch 2/10
1563/1563 [==============================] - 3s 2ms/step - loss: 2.3028 - accuracy: 0.0996 - val_loss: 2.3047 - val_accuracy: 0.1001
Epoch 3/10
1563/1563 [==============================] - 3s 2ms/step - loss: 2.3029 - accuracy: 0.0998 - val_loss: 2.3027 - val_accuracy: 0.1000
Epoch 4/10
1563/1563 [==============================] - 3s 2ms/step - loss: 2.3038 - accuracy: 0.0986 - val_loss: 2.3054 - val_accuracy: 0.1007
Epoch 5/10
1563/1563 [==============================] - 3s 2ms/step - loss: 2.3031 - accuracy: 0.0988 - val_loss: 2.3026 - val_accuracy: 0.0999
Epoch 6/10
1563/1563 [==============================] - 3s 2ms/step - loss: 2.3031 - accuracy: 0.0985 - val_loss: 2.3159 - val_accuracy: 0.0999
Epoch 7/10
1563/1563 [==============================] - 3s 2ms/step - loss: 2.3221 - accuracy: 0.0995 - val_loss: 2.9215 - val_accuracy: 0.1003
Epoch 8/10
1563/1563 [==============================] - 3s 2ms/step - loss: 2.3035 - accuracy: 0.0973 - val_loss: 2.3270 - val_accuracy: 0.1001
Epoch 9/10
1563/1563 [==============================] - 3s 2ms/step - loss: 2.3028 - accuracy: 0.0999 - val_loss: 2.3399 - val_accuracy: 0.0984
Epoch 10/10
1563/1563 [==============================] - 3s 2ms/step - loss: 2.3054 - accuracy: 0.1001 - val_loss: 2.3116 - val_accuracy: 0.1002
我已经检查了绘制的数据,它不是随机的。标签是正确的,我能看到的数据没有问题。
我在 Nvidia RTX 3060 Ti 上的 Tensorflow 2.2 上运行此代码
__CUDA information__
CUDA Device Initialized : True
CUDA Driver Version : 11010
CUDA Detect Output:
Found 1 CUDA devices
cudnn 7.6.5 cuda10.1_0
请帮忙。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)