用于分类和预测的keras式深度网络包
deepfree的Python项目详细描述
深度自由
用于分类和预测的Keras式深度网络包。
安装
pipinstall--upgradenumpyh5pypipinstall--upgradedeepfree
功能
快速学习
程序的主要框架依赖于core._model
中的Model
和core._layer
中的Layer
,可以通过'from deepfree import Model, Layer'
直接导入。您可以灵活地使用模型来快速构建和训练模型。此外,构造的DBN
和SAE
可以直接使用,它们是从Model
继承来的。
堆叠块
通过调用Model.add_layer(['a Layer of a list of Layer'])
,您可以构建类似堆栈块的模型。可以选择一组Layer
,例如phvariable
、maxpooling2d
、flatten
、concatenate
、Dense
、Conv2D
。
灵活设置
您可以在第一次构建模型(DBN(para=...)
,SAE(para=...)
,Model(para=...)
)或训练模型(Model.training(para=...)
)时设置base._attribute
中列出的模型参数。如果不设置值,将应用base._attribute
中的默认值。
结果显示
'loss & test accuracy - epoch'
曲线和'prediction - epoch'
曲线将自动生成。此外,通过分别调用Model.plot_label_cnt
和Model.plot_tSNE
可以获得real label -> predicted label
计数结果和t-SNE visualization
图像。
示例
一个简单的dnn可以被构造和训练为:
fromdeepfreeimportModelfromdeepfreeimportphvariable,Densemodel=Model()model.struct=[784,100,10]model.input=phvariable(model.struct[0])('input')model.label=phvariable(model.struct[-1])('label')foriinrange(len(model.struct)-2):model.add_layer(Dense(model.struct[i+1],activation=model.next_hidden_activation(),is_dropout=True))model.add_layer(Dense(model.struct[-1],activation=model.output_func))model.training(dataset=...,data_path=...)
绘图
运行结果可以在'result'
文件夹中找到。
- 损失和测试精度-历元曲线:
- 预测-历元曲线:
- real label->;预测的标签计数结果:
- t-sne可视化:
博客
Github,
zhihu,
CSDN,
PyPI
QQ群:640571839