将Caffe caffemodel权重文件转换为TensorFlow权重文件

时间:2017-09-06 23:40:08

标签: tensorflow caffe

我的团队花了几个月的时间培训Caffe模型,但现在我们正在考虑转换为Tensorflow,而我们不想花几个月的时间进行再培训。

如何将caffemodel权重文件转换为TensorFlow权重文件?

我已尝试caffe-tensorflow但它不适用于具有多个顶层图层的Caffe模型。

2 个答案:

答案 0 :(得分:1)

我不熟悉,但您可以使用this python code将经过训练的caffe权重“转储”为python可读的numpy数组。我希望TF具有从numpy数组中初始化权重的功能 - 这种方法可能不是自动或微不足道的,但你只需要做一次。

答案 1 :(得分:0)

你从caffe-tensorflow得到的错误是什么?如果这只是验证检查,您可以将其禁用。您还可以尝试强制使用该工具通过void TestPlaneTransform() { Vector3 p1(-2.4f, -2.0f, -0.2f); Vector3 p2(p1.x, p1.y + 1, p1.z); Vector3 p3(p1.x, p1.y, p1.z + 1); Plane plane(p1, p2, p3); Matrix m = Matrix::CreateTranslation(-4, -3, -2); // transform plane with matrix Plane result1 = Plane::Transform(plane, m); // transform plane with transposed matrix Plane result2 = Plane::Transform(plane, m.Transpose()); // transform points with matrix Vector3 t1 = Vector3::Transform(p1, m); Vector3 t2 = Vector3::Transform(p2, m); Vector3 t3 = Vector3::Transform(p3, m); // plane from transformed points Plane result3(t1, t2, t3); result1.Normalize(); result2.Normalize(); result3.Normalize(); } 函数加载权重。 (transformers.py / DataInjector / load function)