我的问题可以分为两部分。
是否有可以通过不同库使用的机器学习模型文件格式?例如,我通过pytorch保存了一个模型,然后使用tensorflow加载它?
如果没有,是否有可以帮助传输格式的库,以便可以直接在keras中使用pytorch机器学习模型?
我之所以提出这个问题的原因是,最近我需要调整我以前训练过的一些在tensorflow中的模型到pytorch。
此问题的更新: Facebook和微软将推出名为ONNX的模型标准,用于在不同的框架之间传输模型,例如在Pytorch和Caffe2之间。链接如下:
此问题的进一步更新: Tensorflow本身使用协议缓冲区格式存储模型文件,可用于不同模型之间的传输。链接如下:
答案 0 :(得分:0)
非常有趣的问题。神经网络是一种数学抽象,由层网络(卷积,循环,...),运算(点积,非线性......)及其各自的参数(权重,偏差)组成。
AFAIK,没有通用模型文件。尽管如此,不同的库允许用户以二进制格式保存他们的模型。
没有用于转换的库,但github repo已经努力解决了这个问题。
答案 1 :(得分:0)
预测标记建模语言(PMML)是一种基于XML的表示语言,适用于许多机器学习模型。它是许多公司用于序列化和反序列化模型的open standard。我已经使用了支持PMML的库,用于机器学习模型,如SVM和决策树,但还没有将它用于深度学习模型。但是,有一些开源项目可以与Tensorflow和Keras一起使用,但这些库似乎用于序列化和反序列化以便与同一个库一起使用。您可能想要检查PMML是否在库之间进行序列化和反序列化方面取得了进展。
答案 2 :(得分:0)
如果没有,是否有可以帮助传输格式的库,以便可以直接在keras中使用pytorch机器学习模型?
您可以试用Pytorch2Keras转换器。
在那一刻,它支持基础层,如Conv2d,线性,激活,元素操作。所以,我转换了ResNet50,错误为1e-6。