首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ConvNetSharp -使用Dropout

ConvNetSharp -使用Dropout
EN

Stack Overflow用户
提问于 2018-09-15 07:52:30
回答 1查看 323关注 0票数 0

我想尝试在我的模型中添加一个退出层,但是我在列车方法上得到了这个错误:

卷应该有一个形状1要转换为System.Double

我做错什么了?我也想知道如何“禁用”辍学层时,我没有在培训(测试)。

代码语言:javascript
复制
SgdTrainer trainer;
int numFeatures = 3;
Net<double> net = new Net<double>();
Volume<double> inputVolume, outputVolume;

trainer = new SgdTrainer(net) { LearningRate = 0.0001, BatchSize = 128 };

// 4 test cases with 3 features each    
double[] inputData = new double[12]  { 0, 1, 2,   3, 4, 5,   6, 7, 8,   6, 7, 8 };

// binary classification: 0,1 = is class; 1,0 = not class    
double[] outputData = new double[8]  { 0, 1,      1, 0,      0, 1,      1, 0 };

net.AddLayer(new InputLayer(1, 1, numFeatures));

net.AddLayer(new FullyConnLayer(10));
net.AddLayer(new ReluLayer());

net.AddLayer(new DropoutLayer(0.5)); // (ಠ_ಠ)

net.AddLayer(new FullyConnLayer(2));
net.AddLayer(new SoftmaxLayer(2));

inputVolume = BuilderInstance.Volume.From(inputData, new Shape(1, 1, numFeatures, inputData.Length / numFeatures));
outputVolume = BuilderInstance.Volume.From(outputData, new Shape(1, 1, 2, outputData.Length / 2));  

trainer.Train(inputVolume, outputVolume); // get error if there is dropout above
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-16 15:18:17

卷应该有一个形状1要转换为System.Double。

此错误是由于最近在ConvNetSharp中引入的一个错误造成的。它是在PR #133中修复的。

我也想知道当我不在训练的时候如何“禁用”辍学层。

辍学层知道什么时候你在训练或评估模型。必要时,它将减少和缩放输入。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52342783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档