默认前提是,已经安装好了ubuntu18.04,另外通过无线网卡已经联网了。
1、安装搜狗输入法
新版本直接就上百度,搜索sogou for linux,选择对应版本的,一般新机器都是64bit的了,然后直接点击下载,安装,跟windows一样。然后重启电脑,右上角出现键盘的标志,点进去,然后configure,然后左下角的+加号,居然卡在了这里,死活找不到刚装的sogou,其实是没设置好,把only Show。。。。这个选项去掉,在最后就能找到sogou Pinyin了,因为那个选项,只是显示英文的输入法,而把中文的屏蔽了。另外,打字的时候下面的输入提示是乱码,按两下shift就好了,
2、截屏快捷键设置
像QQ或者微信一样的快捷键设置。参考以下链接:
https://jingyan.baidu.com/album/c35dbcb099ba7c8916fcbcf0.html?picindex=9
3、 挂载2T硬盘
sudo fdisk -l 查看配置和名称
sudo mkfs -t ext4 /dev/sda 格式化,这里就看是哪个了,插上后fdisk查看
df -l 看一下,然而并没有挂载
sudo mount -t ext4 /dev/sda /data 这里的/data是自己创建的文件夹,让2T的硬盘挂载在这里。
最后在/etc/fstab中加一句话,让系统开机自动挂载
/dev/sda /data ext4 defaults 0 0
4、查看GPU信息
参考:
https://blog.youkuaiyun.com/a784586/article/details/78688842
安装GPU驱动
https://blog.youkuaiyun.com/wf19930209/article/details/95237824
5、安装python2.7
ubuntu 18.04默认安装了python3.6.9,使用python3来运行。而安装python2.7则继续:
sudo apt install python2.7 就可以了
python2.7 --version查看版本,调用的时候也是python2.7来调用
6、安装CUDA CUDNN
我的机器上自带的NVIDIA和CUDA版本不合适,重新安装了,参考这个链接:https://blog.youkuaiyun.com/u011021773/article/details/81298666
下载这个10.1的版本:
在这里下载对应的cudnn: https://developer.nvidia.com/rdp/cudnn-download
然后解压,再执行下面的命令:
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
最后查看版本:
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
6、配置caffe环境
新版本的ubuntu>17.04的,直接一条命令即可安装,参考:
https://blog.youkuaiyun.com/qxqxqzzz/article/details/89496935
老版本的做法是,进入caffe文件夹下编译:
https://blog.youkuaiyun.com/u011021773/article/details/81298666
7、编译caffe-ssd及遇到的问题
在github上下载的ssd的源码,里面自带了caffe,也就是说,不用再单独下载caffe而只需要使用ssd里面的caffe,编译安装就可以使用caffe。
7.1 无法找到一切关于opencv的函数
很明显是找不到Opencv,但是我明明都已经下载了源码 并编译安装了,不管怎么Include或者添加opencv的库,都提示找不到cv::xxxxx。当时真想放弃了,后来对照了一下,教程是opencv3.1,我是使用的4.1.1,是不是最新的不支持呢?下载了老半天opencv3.4.2,然后编译安装,抱着 试试看的态度,居然编译通过了!!!果然是太新的东西不支持老版本的caffe。而且opencv3.4.2的安装路径与4.1.1的都不一样。如果还是想用opencv4.1.1,那就在编译完caffe后,重新再编译opencv4.1.1,然后根据提示,下载install libgtk2.0-dev and pkg-config, then re-run cmake。
7.2 caffe编译通过了,但是make runtest -j8时出错
当时忘记截屏了,但是是关于cudnn的,就是无法使用cudnn,即使是sudo ,也出错不能使用。显卡驱动是没问题的,cuda10.1+cudnn7.6.5,应该是cudnn的问题。按照教程,是现将include和lib64中的东西全部复制到cuda的对应文件夹内,然后删掉软连接,再重新制作软连接。我闲麻烦,并没有重新ln,最后导致这个无法使用cudnn的问题。重新链接了一遍,然后make runtest -j8,一切正常了!!
7.3 math_functions.cpp:250] Check failed: a <= b <0 vs -1.19209e-007>
参考以下链接。主要是修改:
1、$CAFFE_ROOT/src/util/math_functions.cpp: 注释掉 250行的 CHECK_LE(a,b);
7.4 卡在了Data layer prefetch queue empty
在$CAFFE_ROOT/src/util/sampler.cpp增加下划线的代码。然后: sudo make py .然后就OK了~~~
void SampleBBox(const Sampler& sampler, NormalizedBBox* sampled_bbox) { // Get random scale. CHECK_GE(sampler.max_scale(), sampler.min_scale()); CHECK_GT(sampler.min_scale(), 0.); CHECK_LE(sampler.max_scale(), 1.); float scale; caffe_rng_uniform(1, sampler.min_scale(), sampler.max_scale(), &scale); // Get random aspect ratio. CHECK_GE(sampler.max_aspect_ratio(), sampler.min_aspect_ratio()); CHECK_GT(sampler.min_aspect_ratio(), 0.); CHECK_LT(sampler.max_aspect_ratio(), FLT_MAX); float aspect_ratio; caffe_rng_uniform(1, sampler.min_aspect_ratio(), sampler.max_aspect_ratio(), &aspect_ratio); aspect_ratio = std::max<float>(aspect_ratio, std::pow(scale, 2.)); aspect_ratio = std::min<float>(aspect_ratio, 1 / std::pow(scale, 2.)); // Figure out bbox dimension. float bbox_width = scale * sqrt(aspect_ratio); float bbox_height = scale / sqrt(aspect_ratio); if(bbox_width>=1.0){ bbox_width=1.0; } if(bbox_height>=1.0){ bbox_height=1.0; } // Figure out top left coordinates. float w_off, h_off; caffe_rng_uniform(1, 0.f, 1 - bbox_width, &w_off); caffe_rng_uniform(1, 0.f, 1 - bbox_height, &h_off); sampled_bbox->set_xmin(w_off); sampled_bbox->set_ymin(h_off); sampled_bbox->set_xmax(w_off + bbox_width); sampled_bbox->set_ymax(h_off + bbox_height); }
https://blog.youkuaiyun.com/jancis/article/details/102824091