实验记录 MV3D 代码复现
实验记录 MV3D 代码复现
conda mv3d2
file path : ~/work//didi/
1, 下载好数据,不要下载错了
2,按照数据布局进行数据摆放
然后对raw进行数据摆放
3,摆放好数据后,编译ver3的代码,生成两个动态库
这里要注意按照文件,对路径进行修正。
但是这里我也碰到一个问题,
怎么实现 numpy array to be into ‘raw’ to .so in .py line 126.
我尝试raw=np.load(“.so”,=True),但是这会报错动态库文件没法当打开。
如果有朋友会,私信我,感谢。
4,生成动态库文件后, data.py
这里要注意的是
运行data.py文件以后,在data文件中产生6个文件夹,如下图:
储存154个npy文件,每个文件对应一帧点云数据中所有boxes的8个坐标信息
储存了154和png文件,是将2Dbox画在img上的png文件(并不是所有额obj都被画了出来,根据.xml文件可知,点云数据中还有和行人等目标,但是在data阶段没有画出来)
文件夹里边包含154个npy文件,储存对应点云中boxes目标框的标签,比如[1,1].代表这帧点云中有两个boxes框,且种类标签都为1
rgb 154个png文件,代表归一化后的原始image;不要诧异图片是黑色的,黑色的原因是因为原始图片的rgb范围是[0,255].黑色的图片rgb范围是[0,1];
top npy.npz文件,mv3d的top视图,将点云平均分为M个切片,为每一个切片计算高度图,得到M个高度图;代码中的M计算得15;
首先将点云分为很对个3维格子,设置格子的长宽高分辨率;然后根据点的三维坐标确定位于的格子;取每个格子内所有点的最大高度为切片对应得2D 格子的高度值;源码里边将每个点云切片分为500*300的分辨率;每个npy.npz文件可以得到一个shape为[500,300,15]的数组
5,调试
这个时候要用到,因此需要不断调试。
版本太高了,需要降低到1
pip -gpu1.1.0
卸载干净
版本太高,降低到.6
conda .6
但是降低版本太麻烦,不如重新创建一个环境
conda --name mv3d2 =3.6
conda -gpu==1.4.1
conda =8
conda cudnn=6
然后缺啥补啥。
5.1 首先测试是否正常能用
Test your -GPU is by"
5.2 测试 -gpu是否可用 5.3 修改相关文件和查询gpu的算力
After -GPU could work If you are not using K520 GPU, you need to “arch=sm_30” to other value in src/net/lib/setup.py and src/lib/make.sh in order to *.so file right. Here is short list for arch for .
因为我用的是,所以sm_86
6, train.py
碰到新问题卡住了
: /usr/lib/-linux-gnu/.so.0: :
搞定又有新问题,我都无语了
: /home/siat//ENTER/envs/mv3d2/bin/…/lib/-2.0.so.0: : ds
第一种可能glib的版本跟系统版本不同
查看后果然版本不同
mv3d 是2.58.2
是2.56.4
ubunu 是2.64.6
是2.72.1
降低glib版本,注意不要再的终端进行,要在终端进行
conda -c glib==2.56.1
成功解决该问题
但是版本降低又会出现新的问题。。。无语
: /usr/lib/-linux-gnu/.so.2: :
那么我再查看是否版本问题
当前cairo 版本是1.12.18
是1.15.0
将两者版本调为一致试试
调整失败
谷歌说版本要和cari版本匹配,但是匹配关系没找到
版本为0.32.6
当前cairo 版本是1.12.18
然后第二种法说法是的版本有那个 ,所以需要在下面做文章
先看看.so.2跟哪些东西链接
ldd /usr/lib/-linux-gnu/.so.2
nm -s -D /usr/lib/-linux-gnu/.so.6 | grep
谷歌发现 .so.2 报错主要是版本问题
查找.so文件
可以看出我的mv3d2环境的.so是查不到那个
所以
但是问题来了,/usr/lib/-linux-gnu/.so.2的是链接/usr/lib/-linux-gnu/.so.6,那这应该是没问题的呀。
有一个新的想法,升级mv3d2的cario版本
既然我们已经知道1.12.18是不行,那么就升级到最新版本1.16.0 干!
问题解决了,十分奇葩
因为我之前用pip安装的,它是有问题的,因为版本太高,是4。3+。
我卸载pip的-,卸载conda的,然后成功安装conda的,他的版本使3.4+ ,然后就成功了。
新问题: not
参考资料
MV3D源代码
#