背景
从win10远程ubuntu服务器跑代码,
使用slam的evo工具在KITTI odometry数据集上对网络预测的位姿序列进行评估,
一共十个序列,需要输10次命令行(evo_traj/ evo_ape/evo_rpe…balabala),非常不方便,
因此想写在python文件的test.py里面,输出预测位姿后保存到文件然后调用命令行直接评估,同时保存评估结果.
理想丰满,现实就不是了:
- 发现编辑的脚本文件跑不通,查了下发现是dos与unix的底层字符不一样(\ \ \n 和\n的区别),
- 脚本语言太底层了还涉及到环境变量非常麻烦.
解决问题:
- dos 与unix字符不同的问题:
在编辑完.sh脚本之后转换一下:os.system(f"dos2unix ./utils/evo.sh") os.system(f"sed -i 's/\r//' ./utils/evo.sh") - 环境变量问题
ssh远程的终端有login和unlogin的区别(还有个忘记名字了), 造成的结果是ssh的终端的环境变量不一定和pycharm里面设置好的远程解释器的环境变量一样, 解决办法:
test.py 最后添加代码:
上面os.putenv("PATH", "/home/phy12321/anaconda3/envs/torch17/bin:/home/phy12321/anaconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin")

本文介绍了一种通过Python脚本自动化评估视觉SLAM算法在KITTI数据集上的表现的方法。解决了因不同操作系统换行符导致的脚本运行问题,并调整了SSH环境变量以确保脚本能在远程服务器上正确执行。
最低0.47元/天 解锁文章
1907





