赞
踩
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
视觉算法工程师入职的前两天都需要做的事情就是配置环境,虽然有的公司已经把基本的环境,例如linux服务器准备好。历时两天,我完成了windows本地、`服务器、工作站的环境配置,包括:windows + visual studio + cmake + opencv + opencv contrib,vscode通过ssh链接服务器,vscode通过ssh链接虚拟机ubuntu,服务器通过ssh从gitlab上clone代码,anoconda+python+opencv+pytorch+pycharm等。
以上这些环境准备工作,我在以前的公司分别都用过,这次算是从头到尾,自己配置了一遍。以后如果还有其他的,会继续更新。
流程概览:cmake通过opencv源码路径(包括opencv和contrib)、你要构建的位置(生成的库、.放到这)将项目构建好,生成一个vs的工程opencv.sln,然后用vs打开这个工程,进行编译生成和安装。
具体流程如下:
首先,要搞清楚opencv和contrib之间的位置关系,opencv_contrib-4.5.0这个文件夹,要放在opencv这个目录下。这个图中opencv_contrib-4.5.0是复制过来的,new_build是我自己创建的空文件夹,后面生成的库和.h文件都在这个路径下。
接下来要用cmake构建一个vs工程:
1.第一次构建,填好路径后,点击configure
选择编译器和位数:vs2017对应vc15,一定要第二个选项勾选成对应的位数,我的是×64。如果默认成win32的,你会发现构建出来的工程是win32的,没有×64的选项。
2.添加opencv contrib的源码路径以及opencv_world
然后点击configure,然后点击generate。然后就生成了opencv.sln文件。
接下来用vs编译的过程借鉴了:https://www.cnblogs.com/fx-blog/p/8214724.html
ssh链接服务器的方法:安装gitbash或vscode安装ssh插件,都可以远程到服务器上。
安装gitbash并打开,在gitbash中输入命令:
@前后分别是服务其上的用户名和ip
要注意的是,要保证这个服务器上有人为你创建了用户,因为刚入职的原因,很可能没来得及建起来。
vscode可以通过安装ssh插件的方法,远程链接到服务器上。好处在于,可以编辑远程服务器上的代码,而且可以通过terminal终端输入命令行。
与二中的方法类似,虚拟机安装ubuntu,相当于一个远程服务器,当然配置肯定不如真正的服务器性能强。这样做的好处是vscode不存在卡顿的问题。某司就是这样做的。
安装vmware是简单的,vmware安装ubuntu同样遇到过问题:VMware安装Linux时‘Operating System Not Found‘
网上一众的解决方法,对我都不适用。这里可以为大家提供一个思路:有可能是你的网络问题,导致你的ubuntu镜像文件根本没有下载完全,我就是这个问题。
不过虚拟机没用到,最终还是选了二。
leader给我在服务器上开了一个用户lebron后,就可以通过vscode远程连接上虚拟机。
如果想要从gitlab上clone代码下来,需要为lebron用户创建密钥,然后把ssh-key这个密钥复制到gitlab的settings中。
这就有点像之前在某司,在root用户下创建了密钥,然后给到gitlab。然后把代码pull下来后,用lebron用户是改不了代码的,因为lebron没权限。当时把文件的权限改成777,然后gitstatus发现都是改动记录一大片。于是又对lebron单独生成了密钥,给到gitlab上,然后切换到lebron用户pull代码。
这部分是和python相关的,以前用的少,总结下
anoconda:用于创建不同虚拟环境,在不同虚拟环境下python的版本可以不相同。
pip:python的标准库管理器,类似于apt。
例如:conda create -n avm python=3.6,我就创建了一个python版本3.6的名为avm的虚拟环境。
conda activate avm,我就进入到了这个环境中,可以用当前的环境跑python代码。例如avm环境中我配了opencv-python,avm1环境中没有opencv,那么你切换到avm1环境下,就跑不了用到opencv库的代码。
在avm环境中 pip install 各种各样的库
pytorch:视觉算法工程师常用的一个库,多用于nn。写法和python很像。安装方法就是到pytorch的官网上选择你对应的配置,然后在你对应的环境中(我的是avm)运行:
要注意个问题,如果你不是在某一个虚拟环境中安装的,那就统统装到了base环境下。如果是公用的服务器上,这个环境可以被大家公用,一般是配好之后,别人不会对它做改动的。
另外要注意,像pycharm和vscode这些IDE,即便是我打开了terminal终端,你在terminal上操作的依然是base,而不是某一个服务器,即便我尝试用conda activate avm,也没用,我是放弃了。我现在安装库是通过cmd,跑代码前选择虚拟环境是用的pycharm选择某个虚拟环境。
我的软件全部装到了D:\software下,因为有的软件安装路径必须保证是英文。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。