文件交换

图像缩略图

卷积神经网络 - 简单的代码 - 简单易用

这是一个简单的卷积神经网络-a深度学习工具的使用代码。

135个下载

更新2017年2月16日

查看许可证

我同时学习CNN写了这个代码。它支持金宝app不同的活化的功能,例如S形,双曲正切,SOFTMAX,softplus,RELU(RECT)。在BuildYourOwnCNN.m的MNIST例子和说明演示了如何使用代码。你也可以建立使用此代码仅ANN网络。我也写了一个简单的脚本来预测从脸部照片性别完全为乐趣的目的。它预测性别男性或女性,也预测,如果面对的是更类似于猴子,而不是男性或女性的人 - 完全为了娱乐的目的。

引用作为

Ashutosh说库马尔Upadhyay(2020)。卷积神经网络 - 简单的代码 - 简单易用(//www.tatmou.com/matlabcentral/fileexchange/59223-convolution-neural-network-simple-code-simple-to-use),MATLAB中央文件交换。检索

评论和评分(45

请给CNN的代码(做对某些值的训练,然后测试这些值)

西瓦artosh

托什·辛

先生,

感谢分享代码。可以将此代码以这样的方式,输出由inpuy图像,而不是标签直接比较更改。

托什·辛

@Ashutosh库马尔Upadhyay
嗨,我可以使用声纹识别代码?做什么样的功能,你需要建立一个CNN的声纹识别?

你好,
我试图训练从头代码与新的一批图像的(用于不同预测类型)。
问题:
- 让训练有素的文件“my_face_cnn5.mat”,难道我们不应该在“traincnn.m”或“Example_MNIST_CNN”的脚本的末尾添加功能“savecnn.m”?
谢谢

Shachi P

谢谢。这是像我这样的初学者很有帮助。

提阿Lartey

TU

思华福

嗨,没有人知道为什么我们通过乙状结肠在反向传播导数这个代码不乘输出?从我的理解,如果乙状结肠用于最后一层,我们需要考虑它的反向传播衍生物。我试图改变cnn.CalcLastLayerActDerivative = 1,但随后的错误率上升,所以我不知道我是否是正确的。

下面的代码初始化cnn.CalcLastLayerActDerivative = 0 traincnn.m:

如果cnn.loss_func ==“的CRO”
如果cnn.layers {} cnn.no_of_layers == .act_func '软'
cnn.CalcLastLayerActDerivative = 0;
ELSEIF cnn.layers {cnn.no_of_layers} .act_func == 'SIGM'
cnn.CalcLastLayerActDerivative = 0;
结束
结束

正宇晨

swathi

主席先生,我对featuremap计算的查询。当你提到featuremap {K},这是什么意思?如果我有5个样品10个用户中,共有50个样品,然后在卷积层有多少功能映射我会得到什么?我怎么能访问它们?

我跑我的代码,它给我的错误
使用错误*
内蒙古矩阵尺寸必须一致。

误差在ffcnn(线75)
cnn.layers {I} .outputs =
applyactfunccnn(cnn.layers {I} .W * ZZ +
repmat(cnn.layers {I} .B,1,尺寸(ZZ,2)),
cnn.layers {I} .act_func,0);

按照您的指示我试图在ffcnn的75行设置断点,发现大小(ZZ)= 3808 * 16和大小(cnn.layers {I}} .W = 16 * 4200。因此,它显然,这是那里的问题出现了,但不知道该怎么办。
请帮忙。

戈库尔RAJ

我,我试图运行在Matlab2015a上面的代码和eventhough文件存在于目录中得到了错误。

读取数据集...
使用imread误差(线349)
文件 “E:MATLABCNN \ AshuCNN \ Internet_Images \ F(1).JPG” 不存在。

误差在Predict_gender_CNN(线38)
I = imread(完整文件(Datapath1,ST));
你可以帮我出这个

德鲁IB

您好,我试图运行在Matlab2014a上面的代码和eventhough文件存在于目录中得到了错误。

读取数据集...
使用imread误差(线349)
文件 “C:\用户\联想\下载\ AshuCNN \ Internet_images” 不存在。

误差在Predict_gender_CNN(线38)
I = imread(数据路径, 'C \ Users \用户联想\下载\ AshuCNN \ Internet_images');

你可以帮我出这个

如何创建.MAT文件?plzz回答快速其迫切

嗨Ashutosh说,

我想培养更多的则1分集预训练网络vgg16(手写识别)的时间,u能请帮助我对此为u状态如何建立CNN明智的步骤 -

谢谢 !

DEENA hijam

您好,先生,在你的榜样,是它的网络已经使用MNIST数据集训练和训练的这个网络正被用于性别预测?我想利用网络对我的不同的脚本的手写字符图像。我可以使用相同的训练的网络来测试我的图像数据集?

每个单独的元件,从而错误的该源可以被识别上Silpa您好,请使用大小()函数。把一个断点在该行和检查大小(ZZ),大小(cnn.layers {I}),大小(cnn.layres {I} .B),大小(cnn.layers {I} .W * ZZ),大小(repmat(cnn.layers {I} .B,1,尺寸(ZZ,2))。谢谢。

主席先生,我对肺癌检测使用CNN.First时间我想CNN.I具有512×512 size.I只是想你会知道CNN编码的编码列的图像做一个项目。
我使用面临着错误错误*
内蒙古矩阵尺寸必须一致。

误差在ffcnn(线65)
cnn.layers {I} .outputs = applyactfunccnn(cnn.layers {I} .W * ZZ + repmat(cnn.layers {I} .B,1,尺寸(ZZ,2)),
cnn.layers {I} .act_func,0);

在那里我必须更正消除this.Please帮助

1.重新调整(X)=(X - 分钟(X(:)))/(MAX(X(:)) - 最小(X(:)))。所以,如果我忘记更换的重新调整(X)与此公式,请更换。对于8比特灰度值图像,则simplly除以255。
2. gradient_checker()被用于测试CNN实现,以及aftet它没有使用。它在培训和测试CNN图像的相位没有用。
3.更多特色应用,请使用theano / tensorflow /朱古力等。该代码可用于只了解基本的CNN implenataion及其内部工作写入。
谢谢

对于矩阵尺寸的误差,请使用size()函数来获取所涉及的方程的矩阵的大小。然后,它可以给线索,其中的错误是发生什么为它做。

Aarthi一

你好,先生,
如何创建与填充网络?

Aarthi一

你好,先生,
为什么你正在使用gradient_checker(CNN,XX,YY);功能INI CNN?

您好,我试图运行Predict_gender_CNN.m但你得到一个错误,指出“类型的‘双师型’的输入参数定义函数‘重新调整’。”我看着通过的文件,但我没有找到一个重新调整用户的功能,我希望你能提供帮助的。

Ashiekaa一

如何创建列车的图像,列车标签,T10K-标签,T10K-图片请发送链接。谢谢

喜喜Ashutosh说库马尔,我试图用我自己设计的基于STFT图片癫痫发作的检测来实现你的代码。我曾遇到的所有问题,但最后我坚持这个错误

矩阵尺寸必须一致。
误差在bpcnn(第13行)
ER =(cnn.layers {cnn.no_of_layers} .outputs - 月 - 日);
误差在traincnn(线58)
CNN = bpcnn(CNN,YY);

请eleborate为什么会出现此错误,我该如何解决呢?

Ashutosh说库马尔Upadhyay

嗨,正如,
是了解CNN的基本工作,你可以使用我的代码,后来它的理解后,你可以选择任何库。

先生我是使用卷积神经网络初学者,我试图用MATLAB 2017Rb功能(convolution2dlalyer,maxpoolinglayer,...... fullyconectionlayer等)
但我不知道如何建立反传误差。而且我没有使用像泰亚诺或卡菲任何库..should我从你的代码开始,我注意到,你没有,你在MATLAB 2017b现有功能

德海塔

谢谢!

您好syahril,506 / =的batch_size整数,452 / =的batch_size整数。相应地更改batch_size值。似乎= batch_size时2,你的情况。如果你没有减少。数据到最近的几(即,值500 450),然后将有用于的batch_size各种选项。虽然= batch_size时2可工作得很好,你可以试试。如果没有的话,去削减数据,并把=的batch_size 10/5 /或别的东西。

syahril唐

嗨Ashutosh说库马尔,我试图用我自己的数据集(列车数据= 28x28x506double),(火车标签= 2x506double),(测试数据= 28x28x452double),(测试标签= 2x452double)。但是,我遇到了一个错误来实现你的代码:
使用traincnn误差(第17行)
no_of_batches应该是整数

嗨萨蒂什,我写代码学习的目的。如何使用代码的指令被赋予在一个文件名为 - “HowToBuildYourOwnCNN.m”,同时也阅读下面的意见。您可以使用代码,一个简单的应用,这将需要一些连续层。对于复杂的应用程序,这是更好地使用标准工具如theano,tensorflow,朱古力,这将是更快了。

SATISH KUMAR

Namashkar Ashoutosh,我正在从印度文档图像的脚本识别,我得到的数据集一样在各大小128x128,512x512尺寸英语1000有一个1000倍的图像,这样我得到了11 6种语言的数据集。现在,我想在我的数据集采用卷积神经网络识别脚本。你可以请帮助我如何使用你的代码对我的工作。提前致谢。

EAN您好,感谢写作。在写自己的网络,请按照HowToBuildYourOwnCNN.m给出的说明。由于网络包含池层和完全连接层,输入图像的尺寸应当是固定的和所有的图像应该被重新缩放到该尺寸。请计算每个CONV和池层featuremaps(输出)的大小。对于每次转化层这将是:输入尺寸 - 滤波器尺寸1。池层的子采样因子应充分划分以前CONV层的输出尺寸。

在ffcnn(线75):
这里,W是第一完全连接层的权重矩阵,其大小为[无无输入点节点。没有输入点从其先前层的输出(它是最有可能池层),并且等于推测(无特征的映射特征图的*宽*特征图的高度)。ZZ的大小应为[没有输入点1]。
希望能帮助到你。

EAN怡豪尔

你好先生,我已经下载了你的代码,并试图实现卷积神经网络。然而,在运行此代码时,我遇到了一个问题。该错误是如下:

使用错误*
内蒙古矩阵尺寸必须一致。

误差在ffcnn(线75)
cnn.layers {I} .outputs = applyactfunccnn(cnn.layers {I} .W * ZZ + repmat(cnn.layers {I} .B,1,
大小(ZZ,2)),cnn.layers {I} .act_func,0);

我可知道什么是W和什么是它的大小?谢谢。

尼克·翠

阿波你好,麻烦您。这条线是不需要的,应该评论。(测试过程中加入这一行,我忘了发表意见的话)。在Matlab中的新版本,setDefaultStream没有更多的支持,并setGlobalStream代替它的金宝app介绍。但是,我们不必担心我们的情况下,这条线应该在我们的案例加以注释。谢谢你写我,以及不便再次抱歉。

阿博

嗨,错误:类RandStream没有固定财产或静态名为“setDefaultStream”法Matlab2016b工作时发生的!不知道吗?

有两个例子:Example_MNIST_CNN.m和Predict_gender_CNN.m

下载后,添加位置MATLAB的路径,并在MATLAB和运行打开上述文件。如果有任何问题,请张贴在这里......

嗨,我可以运行该脚本?THKS ....

新增使用正面照片预测性别的例子。在互联网上的图像经过培训的CNN网络是包括在内。

AMR ESSAM

让我来试试!谢谢你很多

刘杰

让我来试试!谢谢你很多

更新

1.4.0.0

请参见注释。一个不必要的线已经评论。

1.3.0.0

标志图像更新

1.2.0.0

预测从正面照片性别的有趣的例子中的溶液。网络已经培训了,它可以预测的性别。只是享受它。

1.1.0.0

标签纠正。

MATLAB版本兼容性
创建了R2010a版本
与任何版本兼容
平台兼容性
视窗 苹果系统 Linux的