CalibNet运行日志

CalibNet:github源码

一、环境安装

问题一:类似undefined symbol: _ZN10tensorflow16KernelDefBuilderD2Ev的错误

博主在cuda10.1,cuda9.2上均尝试过,安装tensorflow-gpu==1.8.0/1.9.0/1.10.0/1.14.0,均失败,只能投靠cuda8.0
本文环境:

cuda8.0, tensorflow-gpu1.2.0, torch0.1.12 torchvision0.1.8

二、数据准备代码问题

问题一:dataset_builder_parallel.sh数据下载时间太长

bash ../path/to/code_folder/dataset_files/dataset_builder_parallel.sh

可以直接在KITTI官网上下载sync数据,保存在某一个文件夹下,如下例子:
数据路径:
在这里插入图片描述
dataset_build_color.py,dataset_build_color_2.py中将外接参数注释,改成下载解压后的数据位置:

# parser = argparse.ArgumentParser(description="Create Lidar Dataset")
# parser.add_argument("path", help = "path_to_folder, end with number", type = str)
# args = parser.parse_args()

#
# main_path = "/tmp/lidar_calibration_dataset/2011_09_26/2011_09_26_drive_0104"

# main_path = args.path
main_path = "/home/lufeng/Data/KITTI/2011_09_26/2011_09_26_drive_0005"

运行后,再运行parser.py文件,可生成parsed_set.txt文件:
在这里插入图片描述

问题二:natsort使用问题:No module named compat.locale

from natsort import natsorted as ns

在这里插入图片描述
解决方案:
将ns换成自带的list排序工具sorted(),例如

file_list = ns(glob.glob(path + "_sync/velodyne_points/data/*.bin"))

换成

file_list = sorted(glob.glob(path + "_sync/velodyne_points/data/*.bin"))

问题三:KITTI数据extract部分下载不下来,将_extract换成_sync,例如:

txt1 = np.loadtxt(path + "_extract/velodyne_points/timestamps.txt", dtype = str)

换成

txt1 = np.loadtxt(path + "_sync/velodyne_points/timestamps.txt", dtype = str)

问题四:KITTI数据集bin点云文件读取

将注释部分修改如下:

# points = np.loadtxt(cloud_name)
points = np.fromfile(cloud_name, dtype=np.float32, count=-1).reshape([-1, 4])

三、模型准备问题

Pretrained Resnet-18 parameters can be found here.
下载后有一个resnet_json_parameters压缩包,解压后,运行pytorch_load_weights_diff.py文件,可生成parameters.json文件:
在这里插入图片描述

问题一:No module named torch,尚未安装torch

cuda8.0环境下安装torch:https://blog.csdn.net/li8zi8fa/article/details/75452000

pip install torch==0.1.12
pip install torchvision==0.1.8

问题二:No such file or directory: ‘…/Extrinsic_Calibration_2/parameters.json’

将config_res.py文件以下部分修改成用户自定义的位置:

resnet_params_path = "../Extrinsic_Calibration_2/parameters.json",
dataset_path_full = "/home/ganeshiyer/Extrinsic_Calibration_1.5/model_with_emd/rotation_results/parsed_set.txt",
checkpoint_path = "/tmp/ganesh_saved_Weights/Checkpoint_simple_transformer",
training_imgs_path = "/tmp/ganesh_saved_Weights/training_imgs",
validation_imgs_path = "/tmp/ganesh_saved_Weights/validation_imgs"

四、程序运行

运行train_model_combined.py文件后,出现问题。

问题一:undefined symbol: _ZN10tensorflow16KernelDefBuilderD2Ev

参考链接:https://blog.csdn.net/HelloJinYe/article/details/103302362
如果gcc版本大于4,删除D_GLIBCXX_USE_CXX11_ABI = 0

tensorflow1.2.0版本时尝试了以下三种情况:
D_GLIBCXX_USE_CXX11_ABI删掉
_ZN10tensorflow7strings6StrCatB5cxx11ERKNS0_8AlphaNumE
D_GLIBCXX_USE_CXX11_ABI = 0
_ZN10tensorflow16KernelDefBuilderD2Ev
D_GLIBCXX_USE_CXX11_ABI = 1
_ZN10tensorflow7strings6StrCatB5cxx11ERKNS0_8AlphaNumE
均失败

gcc版本查询:
gcc --version
在这里插入图片描述
将tensorflow升级为:tensorflow1.3.0:
参考链接:
https://github.com/charlesq34/pointnet2/issues/19
_ZN10tensorflow11TensorShapeC1ENS_3gtl10ArraySliceIxEE
-D_GLIBCXX_USE_CXX11_ABI=0
成功了!!!(其实源码中使用的就是TF1.3.0)

问题二:tf_auctionmatch.cpp:1:42: fatal error: tensorflow/core/framework/op.h: No such file or directory

将编译器参数tensorflow位置改成用户位置

/usr/local/lib/python2.7/dist-packages/tensorflow/include

输入python,进入python命令行

import tensorflow as tf
tf.__version__

查询tensorflow安装路径为:

tf.__path__

问题三:Cannot assign a device for operation ‘DepthNet/BatchNorm_19/beta/Adam_1’

加上allow_soft_placement = True

log_device_placement = True : 是否打印设备分配日志
allow_soft_placement = True : 如果你指定的设备不存在,允许TF自动分配设备
tf.ConfigProto(log_device_placement = True, allow_soft_placement = True)

参考链接:https://www.jianshu.com/p/99fca5b7fd8a

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值