当前位置: 首页 > 知识库问答 >
问题:

ConvNet没有改进(Tensorflow)

云宏儒
2023-03-14

首先,我想道歉,因为我不允许发布太多代码,因为这是一个大学项目,但我真的被卡住了。

我正在尝试使用CIFAR-10数据集和TensorFlow,使用以下模型来训练ConvNet:

  1. 图片:[32,32,3]
  2. conv1: 5,5,3,64偏置[64](初始化为0.0)
  3. 规范1:depth_radis=4,偏差=1.0,alpha=0.001/9.0,beta=0.75
  4. pool1:ksize=[1,3,3,1],strides=[1,2,2,1],填充=SAME
  5. conv2: 5,5,64,64偏置[64](初始化为0.1)
  6. pool2:ksize=[1,3,3,1],strides=[1,2,2,1],填充=SAME
  7. 规范2:depth_radis=4,偏差=1.0,alpha=0.001/9.0,beta=0.75
  8. 局部1: 8*8*64, 384偏置[384](初始化为0.1)
  9. 局部2: 384, 192偏置[192](初始化为0.1)
  10. 辍学:keep_prob=0.5
  11. softmax:[192,10]偏置[10](初始化为0.0)

然而,我得到的结果是(1000个批次):

  1. 步骤0,训练精度0.09
  2. 第一步,训练精度0.096
  3. 第2步,训练精度0.1
  4. 第3步,训练精度0.108
  5. 第4步,训练精度0.122
  6. 第5步,训练精度0.094
  7. 第6步,训练精度0.086
  8. 第7步,训练精度0.082
  9. 第8步,训练精度0.104
  10. 第9步,训练精度0.09

我使用以下内容更新权重:

cross_entropy = tf.reduce_mean(
       tf.nn.softmax_cross_entropy_with_logits(y_conv + 1e-10, y_))
train_step = tf.train.AdamOptimizer(0.0001).minimize(cross_entropy)

这是我一直在读的指南:https://www.tensorflow.org/versions/r0.11/tutorials/deep_cnn/index.html#convolutional-神经网络

我尝试过将学习速度从1e-1变为1e-8,但没有成功。非常感谢您的帮助。提前谢谢。

共有2个答案

景安翔
2023-03-14

您可以尝试在数据集上做更多事情:

  • 正常化图像
伏欣悦
2023-03-14

使用tf。nn。稀疏\u softmax\u cross\u entropy\u,使用\u logits代替tf。nn。softmax\u cross\u entropy\u with\u logits。

 类似资料:
  • 问题内容: 所以我试图做一个下载器,用进度条显示下载进度。但是我遇到了问题,因为它实际上没有更新进度条。当它本来是蓝色时,基本上保持白色。如果有人可以帮助,则下面的代码。 问题答案: 1个 与SwingWorker结合使用。在此处查看示例: SwingWorker和进度栏 @气垫船:你是对的。请允许我参考相应的JavaDoc SwingWorker页面,我认为这是最好的解释情况。

  • 问题内容: 我创建了一个TableView,并向每个TableColumns注册了Properties。内部数据的编辑本身可以很好地反映在TableView中。 但是,使用ListView则是另一回事。除非关闭框架并再次打开,否则更改不会立即显示。 我的ListView包含ActionSteps。请注意,我使用了Javafx bean属性。 我的ListView也使用ObservableList。

  • 问题内容: 我正在为GlassFish 2.1.1(据我所知JavaEE 5,JPA 1.0)编写一些应用程序。我的servlet中有以下代码(我主要从Internet上的某些示例借来的): 包含以下内容: 问题是,em看不到另一个外部事务中所做的更改。大致来说,我从Web浏览器向Servlet发出请求,查看数据,在SQL控制台中执行一些DML,重新加载Servlet页面- 它没有显示任何更改。我

  • 问题内容: 在Unix上,是否有任何方法可以使一个进程更改另一个环境的变量(假设它们都由同一用户运行)?一般的解决方案是最好的,但如果不是,那么一个孩子是另一个孩子的特殊情况呢? 编辑:如何通过gdb? 问题答案: 通过gdb: 当然,这是一个很讨厌的黑客,应该只在调试场景中进行。

  • 我正在运行具有以下配置的Web服务器: Ubuntu 14.04 PHP 5.5.9 PHP-FPM Nginx 当我在Symfony应用程序中上传文件时,我收到错误

  • 我使用改装来显示数据,但数据没有显示出来。我不知道哪里出错了。在logcat中,我得到的响应如下: 2019-12-26 20:34:39.847 28305-28305/com.example.androidtutorial E/helloash: [com.example.androidtutorial.GetAheadFolder.JavaDatum@36ebcd9] 我需要帮助。。谢谢 G