用神经网络训练计算机来预测图像
1、给定一幅RGB图片,并转化为像素数据:
a=ImageData[img];

2、查看图片的尺寸:
b=ImageDimensions[img]
c=Reverse[b]

3、把图片转化为训练集:
r= Flatten@MapIndexed[(2(#2-1.)/(c-1)-1.)->#1 &,a,{2}];
输入值为像素的位置;
输出值为像素的RGB颜色参数。

4、构造一个未训练的神经网络:
d=NetChain[{100,Ramp,250,Ramp,10,LogisticSigmoid,3}]
输出值为3元向量。
因此,你步骤一准备的图片如果不是RGB图片,请用Rasterize处理一下,免得训练的时候报错。

5、用训练集r来训练神经网络d,训练20回合:
t=NetTrain[d,r, MaxTrainingRounds -> 20];

6、用训练的神经网络来预测原图,看看预测效果:
p=Range[-1,1,2./#]&/@c;q = Tuples[p];Image[Partition[t@q, Length[p[[2]]]]]
额,一塌糊涂。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:100
阅读量:154
阅读量:188
阅读量:181
阅读量:44