WeaveNet 用于神经网络的计算图框架开源项目

我要开发同款
匿名用户2020年07月24日
43阅读
开发技术C#
所属分类其他
授权协议Apache

作品详情

WeaveNet 是一个使用C#编写的用于神经网络的计算图框架computationalgraph。带有cnn、bp、fcn、lstm、convlstm等示例。使用方法接进pytorch。

软件架构架构完全使用c#编写,可以看到内部任何细节的实现,包含cnn,bp,fcn,lstm,convlstm等示例内容,包含示例所用的数据内容。

使用说明LOSS支持:MESLOSS,cross-entropy激活函数支持:ReLu,Tanh,Sigmod,Softmax数据类型支持:float[][]与float[][][,],二维与四维池化支持:平均池化,最大池化其他支持:ConvLayer,Conv2DLayer,MulLayer部分BP代码示例

//声明两个ConvLayer和一个激活函数SigmodLayerConvLayercl1=newConvLayer(13,5,true);SigmodLayersl=newSigmodLayer();floatlr=0.5f;ConvLayercl2=newConvLayer(5,1,true);inti=0,a=0;while(a<5000){dynamicff=cl1.Forward(x);ff=sl.Forward(ff);ff=cl2.Forward(ff);//计算误差MSELossmloss=newMSELoss();varloss=mloss.Forward(ff,y);Console.WriteLine("误差:"+loss);dynamicgrid=mloss.Backward();//反传播w2dynamicw22=cl2.backweight(grid);//反传播W1dynamicgrid1=cl2.backward(grid);grid1=sl.Backward(grid1);dynamicw11=cl1.backweight(grid1);//更新参数cl2.weights=Matrix.MatrixSub(cl2.weights,Matrix.multiply(w22.grid,lr));cl2.basicData=Matrix.MatrixSub(cl2.basicData,Matrix.multiply(w22.basic,lr));cl1.weights=Matrix.MatrixSub(cl1.weights,Matrix.multiply(w11.grid,lr));cl1.basicData=Matrix.MatrixSub(cl1.basicData,Matrix.multiply(w11.basic,lr));i++;a++;}BP网络运行图

CNN网络0.93识别成功率 

lstm网络预测PM2.5空气质量

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论