ps:自己实现的深度学习训练框架,纯java实现,没有过多的第三方依赖,可分布式训练

上传者: 42127748 | 上传时间: 2022-05-03 11:31:23 | 文件大小: 16.44MB | 文件类型: ZIP
参数服务器 本项目使用非常少的代码编写了深度学习训练的全过程,有完整的结构,通过面向对象的封装,在算法上有一定扩展性,不仅支持单机模式还支持分布式模式 使用java实现的dnn训练框架,底层矩阵库使用Jblas(https://github.com/mikiobraun/jblas),参数服务器使用Grpc+protobuf,ui方面使用ploty.js+nanohttpd 支持单机多CPU训练 支持分布式训练,多worker,多ps自定义负载均衡 支持同步更新和异步更新 支持二分类和多分类 实现embdding+全链接模型 实现Wide And Deep模型 实现卷积+池化+全链接模型 支持训练数据,测试数据异步读取,自定义parser UI Server可视化图表 例子 运行 CTR.java 点击率预估例子,test auc在0.71左右 运行 Mnist.java 手写输入例子,正

文件下载

资源详情

[{"title":"( 75 个子文件 16.44MB ) ps:自己实现的深度学习训练框架,纯java实现,没有过多的第三方依赖,可分布式训练","children":[{"title":"ps-master","children":[{"title":".gitignore <span style='color:#111;'> 34B </span>","children":null,"spread":false},{"title":"src","children":[{"title":"main","children":[{"title":"resources","children":[{"title":"proto","children":[{"title":"ui.proto <span style='color:#111;'> 516B </span>","children":null,"spread":false},{"title":"ps.proto <span style='color:#111;'> 1.40KB </span>","children":null,"spread":false}],"spread":true},{"title":"ui.jpg <span style='color:#111;'> 28.71KB </span>","children":null,"spread":false},{"title":"code.png <span style='color:#111;'> 60.09KB </span>","children":null,"spread":false},{"title":"test.txt <span style='color:#111;'> 6.35MB </span>","children":null,"spread":false},{"title":"mnist_test.csv <span style='color:#111;'> 1.73MB </span>","children":null,"spread":false},{"title":"mnist_train.csv <span style='color:#111;'> 17.42MB </span>","children":null,"spread":false},{"title":"log4j.properties <span style='color:#111;'> 255B </span>","children":null,"spread":false},{"title":"web","children":[{"title":"index.html <span style='color:#111;'> 1.74KB </span>","children":null,"spread":false}],"spread":true},{"title":"model.png <span style='color:#111;'> 53.31KB </span>","children":null,"spread":false},{"title":"train.txt <span style='color:#111;'> 63.53MB </span>","children":null,"spread":false},{"title":"structure.png <span style='color:#111;'> 54.38KB </span>","children":null,"spread":false}],"spread":false},{"title":"java","children":[{"title":"loss","children":[{"title":"SoftmaxLoss.java <span style='color:#111;'> 767B </span>","children":null,"spread":false},{"title":"CrossEntropy.java <span style='color:#111;'> 804B </span>","children":null,"spread":false},{"title":"Loss.java <span style='color:#111;'> 207B </span>","children":null,"spread":false},{"title":"MSE.java <span style='color:#111;'> 773B </span>","children":null,"spread":false}],"spread":true},{"title":"activations","children":[{"title":"LeakyRelu.java <span style='color:#111;'> 508B </span>","children":null,"spread":false},{"title":"Softmax.java <span style='color:#111;'> 1.57KB </span>","children":null,"spread":false},{"title":"Sigmoid.java <span style='color:#111;'> 465B </span>","children":null,"spread":false},{"title":"Activation.java <span style='color:#111;'> 211B </span>","children":null,"spread":false},{"title":"Relu.java <span style='color:#111;'> 414B </span>","children":null,"spread":false}],"spread":true},{"title":"data","children":[{"title":"DataSource.java <span style='color:#111;'> 1015B </span>","children":null,"spread":false},{"title":"LibsvmParser.java <span style='color:#111;'> 786B </span>","children":null,"spread":false},{"title":"FileSource.java <span style='color:#111;'> 1.09KB </span>","children":null,"spread":false},{"title":"Parser.java <span style='color:#111;'> 220B </span>","children":null,"spread":false},{"title":"Feature.java <span style='color:#111;'> 460B </span>","children":null,"spread":false},{"title":"DataSet.java <span style='color:#111;'> 2.30KB </span>","children":null,"spread":false}],"spread":true},{"title":"model","children":[{"title":"DNN.java <span style='color:#111;'> 3.93KB </span>","children":null,"spread":false},{"title":"Model.java <span style='color:#111;'> 310B </span>","children":null,"spread":false},{"title":"WideDeepNN.java <span style='color:#111;'> 5.29KB </span>","children":null,"spread":false},{"title":"FullConnectedNN.java <span style='color:#111;'> 3.09KB </span>","children":null,"spread":false},{"title":"CNN.java <span style='color:#111;'> 2.52KB </span>","children":null,"spread":false}],"spread":true},{"title":"layer","children":[{"title":"AddLayer.java <span style='color:#111;'> 1.30KB </span>","children":null,"spread":false},{"title":"FcLayer.java <span style='color:#111;'> 3.16KB </span>","children":null,"spread":false},{"title":"ConcatLayer.java <span style='color:#111;'> 1.05KB </span>","children":null,"spread":false},{"title":"PoolingLayer.java <span style='color:#111;'> 3.42KB </span>","children":null,"spread":false},{"title":"EmbeddingLayer.java <span style='color:#111;'> 2.30KB </span>","children":null,"spread":false},{"title":"DropoutLayer.java <span style='color:#111;'> 1.01KB </span>","children":null,"spread":false},{"title":"InputLayer.java <span style='color:#111;'> 369B </span>","children":null,"spread":false},{"title":"Conv2DLayer.java <span style='color:#111;'> 6.80KB </span>","children":null,"spread":false},{"title":"Layer.java <span style='color:#111;'> 1.22KB </span>","children":null,"spread":false},{"title":"EmbeddingField.java <span style='color:#111;'> 3.24KB </span>","children":null,"spread":false},{"title":"LRLayer.java <span style='color:#111;'> 3.21KB </span>","children":null,"spread":false}],"spread":false},{"title":"visual","children":[{"title":"UiClient.java <span style='color:#111;'> 1.02KB </span>","children":null,"spread":false},{"title":"UiServer.java <span style='color:#111;'> 4.91KB </span>","children":null,"spread":false}],"spread":true},{"title":"CnnMnist.java <span style='color:#111;'> 4.32KB </span>","children":null,"spread":false},{"title":"update","children":[{"title":"AdamUpdater.java <span style='color:#111;'> 2.40KB </span>","children":null,"spread":false},{"title":"FtrlUpdater.java <span style='color:#111;'> 2.31KB </span>","children":null,"spread":false},{"title":"Updater.java <span style='color:#111;'> 175B </span>","children":null,"spread":false},{"title":"SimpleUpdater.java <span style='color:#111;'> 529B </span>","children":null,"spread":false}],"spread":true},{"title":"Mnist.java <span style='color:#111;'> 4.59KB </span>","children":null,"spread":false},{"title":"context","children":[{"title":"Context.java <span style='color:#111;'> 2.94KB </span>","children":null,"spread":false}],"spread":true},{"title":"CTR.java <span style='color:#111;'> 4.70KB </span>","children":null,"spread":false},{"title":"util","children":[{"title":"MatrixUtil.java <span style='color:#111;'> 2.72KB </span>","children":null,"spread":false}],"spread":false},{"title":"net","children":[{"title":"Mod.java <span style='color:#111;'> 178B </span>","children":null,"spread":false},{"title":"PSClient.java <span style='color:#111;'> 5.55KB </span>","children":null,"spread":false},{"title":"Router.java <span style='color:#111;'> 74B </span>","children":null,"spread":false},{"title":"PSRouterClient.java <span style='color:#111;'> 4.24KB </span>","children":null,"spread":false},{"title":"PServer.java <span style='color:#111;'> 8.69KB </span>","children":null,"spread":false}],"spread":false},{"title":"train","children":[{"title":"TrainerThread.java <span style='color:#111;'> 808B </span>","children":null,"spread":false},{"title":"PredictThread.java <span style='color:#111;'> 823B </span>","children":null,"spread":false},{"title":"Trainer.java <span style='color:#111;'> 2.99KB </span>","children":null,"spread":false}],"spread":false},{"title":"evaluate","children":[{"title":"SoftmaxPrecision.java <span style='color:#111;'> 1.13KB </span>","children":null,"spread":false},{"title":"LossSurface.java <span style='color:#111;'> 1.63KB </span>","children":null,"spread":false},{"title":"AUC.java <span style='color:#111;'> 2.36KB </span>","children":null,"spread":false}],"spread":false},{"title":"store","children":[{"title":"KVStore.java <span style='color:#111;'> 7.85KB </span>","children":null,"spread":false}],"spread":false}],"spread":false}],"spread":true},{"title":"assembly.xml <span style='color:#111;'> 1.03KB </span>","children":null,"spread":false},{"title":"test","children":[{"title":"java","children":[{"title":"TestAuc.java <span style='color:#111;'> 20.16KB </span>","children":null,"spread":false},{"title":"TestJcublas.java <span style='color:#111;'> 1.65KB </span>","children":null,"spread":false},{"title":"TestVisual.java <span style='color:#111;'> 190B </span>","children":null,"spread":false},{"title":"TestPs.java <span style='color:#111;'> 785B </span>","children":null,"spread":false},{"title":"TestConv.java <span style='color:#111;'> 3.06KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true},{"title":"pom.xml <span style='color:#111;'> 5.89KB </span>","children":null,"spread":false},{"title":"README.md <span style='color:#111;'> 7.53KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}]

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明