TensorFlow vid2depth icp_op加载失败:动态模块和初始化功能

时间:2018-07-17 15:59:46

标签: python tensorflow

信息的格式类似于错误报告中所要求的,但我想我会先在这里询问。

系统信息

  • 您正在使用的模型的顶级目录是什么: 研究/ vid2depth
  • 我是否编写了自定义代码(与使用TensorFlow中提供的股票示例脚本相对): 仅构建系统修复程序
  • OS平台和发行版(例如Linux Ubuntu 16.04): Ubuntu 16.04,Python 2.7或Python 3.5
  • 从(源或二进制)安装的TensorFlow : 点
  • TensorFlow版本(使用下面的命令): (“ v1.6.0-0-gd2e24b6039”,“ 1.6.0”)
  • Bazel版本(如果从源代码编译): 从软件包管理器0.15.2安装
  • CUDA / cuDNN版本: CUDA 9.0,cuDNN 7.1.2.21-1 + cuda9.0
  • GPU模型和内存: GTX 1080
  • 要复制的确切命令: 编译icp_op.so后,运行命令: python train.py \ --data_dir〜/ vid2depth / data / kitti_raw_eigen \ --seq_length 3 \ --reconstr_weight 0.85 \ --smooth_weight 0.05 \ --ssim_weight 0.15 \ --icp_weight 0 \ --checkpoint_dir〜/ vid2depth / checkpoints

描述问题

在此清楚地描述问题。请务必在此处说明为什么这是TensorFlow中的错误或功能请求。

在vid2depth中编译的model.py脚本或icp_op.so库中似乎存在一个错误。我不是python专家,所以我正在寻找有关解决此问题的帮助。

上面列出的命令来自vid2depth Wiki页面,并导致以下错误:

回溯(最近通话最近):   在第41行的文件“ train.py”中     导入模型   在第25行的“ /home/user/tensorflow_models/models/research/vid2depth/model.py”文件中     从ops.icp_op导入icp ImportError:动态模块未定义初始化函数(initicp_op)

在python3上,类似的错误但初始化函数名称不同(我认为是PyInit_icp_op)。

1 个答案:

答案 0 :(得分:0)

这可能是因为icp_op_kernel.cc使用错误的标志构建的。 您可以获取存档there(为Ubuntu 18.04构建)。如果没有帮助,请尝试使用标志进行编译,在python环境中通过以下命令获取信息:

python -c 'import tensorflow as tf; print(tf.sysconfig.get_compile_flags())' python -c 'import tensorflow as tf; print(tf.sysconfig.get_link_flags())'

在c ++和python代码中,op的名称似乎也不匹配。因此,我只是将icp_op.so重命名为Icp_op.so并在python文件中重命名。爆炸之后,所有测试均通过。