【问题标题】:TensorFlow vid2depth icp_op load fails: dynamic module and init functionTensorFlow vid2depth icp_op 加载失败:动态模块和初始化函数
【发布时间】:2018-11-23 21:24:21
【问题描述】:

按照错误报告中要求的格式提供信息,但我想我会先在这里询问。

系统信息

  • 您正在使用的模型的顶级目录是什么: 研究/vid2depth
  • 我是否编写了自定义代码(而不是使用 TensorFlow 中提供的股票示例脚本): 仅构建系统修复
  • 操作系统平台和发行版(例如 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后,运行命令: 蟒蛇火车.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 页面,并导致以下错误:

Traceback(最近一次调用最后一次): 文件“train.py”,第 41 行,在 进口模型 文件“/home/user/tensorflow_models/models/research/vid2depth/model.py”,第 25 行,在 从 ops.icp_op 导入 icp ImportError:动态模块没有定义初始化函数(initicp_op)

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

【问题讨论】:

    标签: python tensorflow


    【解决方案1】:

    这可能是因为 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 文件中重命名。之后所有的测试都通过了。

    【讨论】:

      猜你喜欢
      • 2020-06-13
      • 1970-01-01
      • 2017-07-11
      • 2019-12-11
      • 1970-01-01
      • 2012-10-03
      • 1970-01-01
      • 2015-03-18
      • 2011-02-02
      相关资源
      最近更新 更多