我正在尝试通过cifar-100数据集在tensorflow中使用resnet-50模型。我已经使用内置的resnet_v1_50在tensorflow中创建模型,其头部具有两个完全连接的层,但是我的验证精度接近37%。是问题吗?我配置错误定义和配置resnet_v1_50吗?我的模型创建代码如下。
import tensorflow as tf
from tensorflow.contrib.slim.python.slim.nets import resnet_v1
X = tf.placeholder(dtype=tf.float32, shape=[None, 32, 32, 3])
Y = tf.placeholder(dtype=tf.float32, shape=[None, 100])
net, end_points = resnet_v1.resnet_v1_50(X,global_pool=False,is_training=True)
flattened = tf.contrib.layers.flatten(net)
dense_fc1 = tf.layers.dense(inputs=flattened,units=625, activation=tf.nn.relu,kernel_initializer=tf.contrib.layers.xavier_initializer())
dropout_fc1 = tf.layers.dropout(inputs=dense_fc1,rate=0.5, training=self.training)
logits = tf.layers.dense(inputs=dropout_fc1, units=num_classes,kernel_initializer = tf.contrib.layers.xavier_initializer())
cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits=logits, labels=Y))
optimizer = tf.train.AdamOptimizer(learning_rate=0.001).minimize(cost)
答案 0 :(得分:0)
我认为您有一个额外的致密层。 ResNet使用具有softmax和dist: xenial # required for Python >= 3.7
services:
- xvfb
language: python
python:
- "3.6"
- "3.7"
# command to install dependencies
install:
- pip install -r requirements.txt
# command to run tests
script:
- pytest
的单个完全连接层。
您可能还需要确保正确设置了超参数,例如learning_rate和weight_decay,并且您的输入处理管道也正确。
这里是一个额外的链接,用于查看您的管道是否类似于working solution。