我想用一种语言训练卷积神经网络,但是在另一种语言中使用它(出于各种技术/性能相关的原因)。有没有一种程序化的方法来保存权重?
例如,我可以在Python中训练多层感知器,然后将所有权重保存在CSV文件中,然后在Java中创建一个新的MLP并使用该文件来设置权重。但是,我不确定如何使用卷积神经网络做类似的事情,因为我不知道如何处理卷积层。我认为我的主要问题是了解如何导出/保存网络的卷积部分,然后将其加载到其他地方。
答案 0 :(得分:1)
简而言之 - 没有一般的方式,而且它不是,因为它是高度专业化的数据类型,没有人,他们应该如何看待它们。
换句话说,您必须自己将其导出到.txt,.csv,数据库或您选择的任何其他存储系统。 CNN与MLP的差别不大,它们也有层和权重,唯一的区别是它们的结构有点复杂 - 而且这种结构是你需要保存的额外几个数字,例如你需要的空间卷积知道图层的大小,内核的大小及其移动/填充,因此您可以用新语言重建整个对象。
答案 1 :(得分:0)