仅使用Numpy实现MLP库的轻量级实现
np-mlp的Python项目详细描述
MLP项目
仅使用Numpy实现多层感知器库的简单而轻量级的实现
代码示例
下面几行展示了如何使用这个库来运行一个简单的列车预测任务
实例化一个新的空模型
frommodelsimportBasicMLPmodel=BasicMLP()
添加层
只有第一层需要指定输入亮度。其余层将从输入到它们的层进行推断
^{pr2}$编译模型
这只是为了模拟Keras
库的行为。所有这些只是初始化层
model.compile()
训练分位数模型
fromlossesimportQuantileparams={"learning_rate":0.001,"n_epoch":100,"print_rate":10}loss=Quantile(0.5)model.train(loss,train_data=[X,y],params=params)
使用列车功能的列车
#### Train a quantile modelfromtrainimportModelTrainparams={"n_epoch":1000}trainer=ModelTrain(params)loss=Quantile(0.5)trainer.train(model,loss=loss,train_data=[X,y])
保存并加载模型
model.save("model.json")mlp=BasicMLP()mlp.load("model.json")
列车参数:
n_epoch
:纪元数(默认值:10)batch_size
:批大小(默认值:128)n_stopping_rounds
:N个连续的时间段,对于早期停止没有改善(默认值:10)learning_rate
:1,#学习率(默认值:0)reg_lambda
:#渐变的正则化因子(默认值:0)verbose
:绘制列车结果的标志(默认值:True)print_rate
:打印每个打印速率时段的序列结果(默认值:5)early_stopping
:使用早期停止的标志(默认值:False)
作者
- Gonzalo Franco-Github
许可证
n_epoch
:纪元数(默认值:10)batch_size
:批大小(默认值:128)n_stopping_rounds
:N个连续的时间段,对于早期停止没有改善(默认值:10)learning_rate
:1,#学习率(默认值:0)reg_lambda
:#渐变的正则化因子(默认值:0)verbose
:绘制列车结果的标志(默认值:True)print_rate
:打印每个打印速率时段的序列结果(默认值:5)early_stopping
:使用早期停止的标志(默认值:False)这个项目是在GNU linse下授权的-有关详细信息,请参阅LICENSE.md文件
合作
下面是一份将来要实施的想法清单。如果你有兴趣合作,请随意挑选其中任何一个!如果您还想提供其他内容,请打开issue
- Save train log:将列车日志与模型一起保存
- Auto save best train when using cross validation:存储最佳训练迭代
- Keep trainlog:当模型列车手动停车时,列车日志重置
- 2D Conv layer:添加一个2D卷积层
- 3D Conv layer添加一个3D卷积层
- flant layer:添加一个平坦层以将卷积转换为密集层
- Concat layer:添加Concat层以便可以组合卷积和密度
- Autograd:实现Autograd库
- Logging:添加将记录器传递到训练任务的可能性
- 项目
标签: