1. Pascal VOC标注xml中文件名没有.jpg后缀问题
在存放xml标注文件的文件夹内打开终端:
find -name '*.xml' |xargs perl -pi -e 's|</filename>|.jpg</filename>|g'
2. 通过设置-software&update-Additional Upadate安装的英伟达驱动需要升级:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
然后进入设置-software&update-Additional Upadate可以看到有新的驱动加载出来了。
3. TensorFlow中使用conda安装的最新opencv使用出错:
cv2.error: OpenCV(3.4.2) /tmp/build/80754af9/opencv-suite_1535558553474/work/modules/highgui/src/window.cpp:615: error: (-2:Unspecified error) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function 'cvNamedWindow'
解决方法是安装能使用的版本,如opencv3.1:(直接安装覆盖原有版本即可)
conda install -c menpo opencv3
4. caffe测试前向推理时间
cd ~/caffe
./build/tools/caffe time -gpu 0 -model examples/mobilenet/XXXX.prototxt
5. 搜狗输入法乱码
fcitx -r
6. 环境变量问题
恢复环境变量:
cp /etc/skel/.bashrc ~/
7. 切换python版本(设置update-alternatives )
(1)显示Python代替版本信息
update-alternatives --list python
执行后显示
update-alternatives: error: no alternatives for python 表示Python代替版本尚未安装
(2)执行一下命令安装:将Python2.7设置为1,Python3.5设置为2
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
结果:update-alternatives: using /usr/bin/python2.7 to provide /usr/bin/python (python) in auto mode
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.5 2
结果:update-alternatives: using /usr/bin/python3.5 to provide /usr/bin/python (python) in auto mode
(3)再查看默认版本,已经变成了Python3.5(上一条命令设置的)
python --version
上述命令中因为设置 /usr/bin/python3.5 设置的优先级为2 所以update-alternatives命令自己设置3.5为默认
再次显示Python代替版本信息
update-alternatives --list python
(4)如需更改默认Python版本,只需运行以下命令,选择Python对应的序号即可
sudo update-alternatives --config python
8. U盘变只读的修复:
(1)打印系统日志:
tail -f /var/log/syslog
(2)插入遍体鳞伤的U盘,注意查看系统日志,确认U盘的挂载位置和系统分区等,这里是/dev/sda1
(3)umount挂在位置:
umount /media/zyl/BLACK_SAE
(4)修复:
sudo dosfsck -V -a /dev/sda1
9. NCNN框架下MobileNet-SSD的使用和ARM移植
1)提示undefined reference to omp_get_thread_num,undefined reference to omp_get_num_threads错误:
这是OpenMP的问题,主流C/C++编译器,如gcc与visual C++,都内在支持OpenMP。一般都必须在程序中#inculude <omp.h>
gcc编译时需使用编译选项-fopenmp(亲测无效)。但是,如果编译为目标文件与链接生成可执行文件是分开为两步操作,那么链接时需要给出附加库gomp(即在BUILD.mk中ARM_LDOPTS选项下添加-lgomp),否则会在链接时报错“undefined reference to `omp_get_thread_num'"。
10. Mac切换Python版本
首先找到安装的Python3所处位置:
➜ ~ which python3
/Library/Frameworks/Python.framework/Versions/3.7/bin/python3
然后接触Python2的软链接:
➜ ~ sudo unlink /usr/bin/python
最后创建Python3的软链接:
➜ ~ sudo ln -s /Library/Frameworks/Python.framework/Versions/3.7/bin/python3 /usr/bin/python
如果需要将默认Python切换回python2,只需找到Python2.7的位置,重新建立软链接即可。
➜ ~ which python2.7
/usr/bin/python2.7
➜ ~ sudo unlink /usr/bin/python
➜ ~ sudo ln -s /usr/bin/python2.7 /usr/bin/python
11. NCNN框架下cmake找不到OpenCV
正常通过pip install opencv-python安装的是Python的库,而没包含C++的OpenCV库,因此基于C++的ncnn在编译时找不到OpenCV。
解决方案/Ubuntu,再安装完整的OpenCV库:
sudo apt-get install libopencv-dev python-opencv
MacOS:
brew install opencv
默认会安装最新的OpenCV,如果需要2.x或3.x的OpenCV,只需要在后面@2或@3即可:
brew install opencv@2
安装后保存在/usr/local/Cellar/opencv.....中