我的团队花了几个月的时间培训Caffe模型,但现在我们正在考虑转换为Tensorflow,而我们不想花几个月的时间进行再培训。
如何将caffemodel权重文件转换为TensorFlow权重文件?
我已尝试caffe-tensorflow但它不适用于具有多个顶层图层的Caffe模型。
答案 0 :(得分:1)
我不熟悉tensorflow,但您可以使用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)