前面已经完成了windows下训练基于pytorch的yolov3,接下来学习在ubuntu下训练。

看了一点csdn,现在要解决的问题有两个:

1、ubuntu下的指令,怎么编译?怎么运行?

2、darknet所使用的标签是txt,又要格式转换。

数据集格式问题:

第2个问题我找到一个更好的项目,应该可以直接三种数据格式相互转换:

premkumar25/Convert_VOC_COCO_YOLO: XML parser to parse the PASCAL VOC annotiation xml's and convert it to .txt files (github.com)

新问题1:

我的xml文件是用程序从json转换来的,在pytorch下确实可以使用。但是现在要从xml转换为yolo用的txt文件出现一个问题:我转换过的xml文件里没有difficult这个类。

解决方法:

修改代码,因为difficult在voc的标签中如果取1代表该目标难以被识别,在转yolo代码中会忽略该目标,我之前直接json转xml根本没这个属性,所以把转换代码中跟difficult有关的都去掉就行。

ubuntu下上github方法:

新问题2:

ubuntu下上不去github了,因为没有fastgithub了。

解决方法:

1、似乎gitee就能找项目。

2、fastgithub,下载下来以后按照教程输入sudo ./fastgithub没用,但不知道进入root是否有用,正在尝试。进入root的方法是:

sudo passwd root设置一个密码

然后输入su,再输入刚刚的密码

要退出就输入exit即可。

似乎进入root也没用。

3、dev-sidecar,可以去gitee网站上找这个项目,下载的直接就是安装包。

事实证明,ubuntu下载东西真的慢,我的建议是在windows下载完用移动硬盘转移至ubuntu安装。

建议用这个网址下载:https://gh.api.99988866.xyz/https://github.com/docmirror/dev-sidecar/releases/download/v1.7.3/DevSidecar-1.7.3.deb

新问题3:

因为fastgithub实在是没有头绪,所以打算安装devsidecar,然后遇到一个问题。/opt文件夹在哪???

解决方法:

点开文件,会发现主目录没这玩意,这时应该点+其他位置,然后点计算机,就可以看到/opt文件夹和其他很多找不着的文件夹了。(一般deb安装的软件似乎默认都在/opt下)

新问题4:

打开word文档以及查询软件及安装软件

解决方法:

用LibreOffice Writer软件即可。

查询软件例如:sudo dpkg -L firefox

安装软件:sudo dpkg -i xxx.deb

其中xxx是你安装包的名字,复制粘贴过来就好。

新问题5:

安装dev-sidecar似乎要搞定安全证书的问题,以及要打开sudo不用输入密码的模式

解决方法:

sudo不用输入密码:

先输入sudo chmod +w /etc/sudoers

再输入su

这一步要是报错看这个:

Ubuntu下su:authentication failure的解决办法_山鬼谣me的博客-CSDN博客

输入密码后进入root模式

再输入visudo

光标下移至如图:

Ubuntu20.04 sudo免密码_ibless的博客-CSDN博客_ubuntu20 免密

我输入的是%sudo ALL=(ALL:ALL)NOPASSWD:ALL

然后ctrl+o(保存),弹出”File Name to Write sudoers.tmp”,然后在tmp后按一下回车。再按ctrl+x(退出)。

原链接说groups指令我有点没看懂所以这样搞的。

上github网站最终解决方案:

兜兜转转又回到了fastgithub上:

FastGithub下载及使用 - 知乎

这里不用输入yum install libicu

直接输入后面的指令就行。

wget -c https://github.com/dotnetcore/FastGithub/releases/download/2.0.4/fastgithub_linux-x64.zip    # 下载FastGithubunzip fastgithub_linux-x64.zip    #解压cd fastgithub_linux-x64    #进入到FastGithub文件夹下./fastgithub    #运行FastGithub

然后运行了./fastgithub之后把终端放在一旁就能访问github了。

我怀疑之前没弄好fastgithub估计是git clone下来的是windows下用的,里面压根没有fastgithub这个文件所以用不了。

看了一下确实是,应该去那个releases下去下载相应的安装包的。

配置yolov3-pytorch所需环境:

torch=1.2.0,官方推荐的Cuda版本是10.0,因此会用到cuda10.0,与cuda10.0对应的cudnn是7.4.1.5

记录一个小技巧:按tab可以自动补全文件名,很好用!!!

anaconda+vscode:

vscode似乎直接官网下个deb安装就行。

anaconda去官网上下载就行,下载下来的是个sh文件。

运行方法是:

sh xxx.sh

然后回车,按Q跳过条款,该yes的就yes,中间有一步是设置路径。

最后安装完用which python指令验证一下,如果指向anaconda下的说明可以。

这里注意一点,原来的终端最后which python可能还指向ubuntu自带的python,这里可以两种方法。

一种是重开一个终端输入which pythoin

还一种是输入source ~/.bashrc就可以刷新,再输入which python即可。

然后我记得在显示安装完成后还一行报错,不过目前没啥影响,我就先忽略了,之后遇到问题再说。

NVIDIA驱动、CUDA+CUDNN:

下面这个链接是装nvidia驱动的,我按照里面的步骤安装成功。

我的显卡:

NVIDIA GeForce Force 940M

产品类型GeForce
产品系列是 900M Series
产品家族940MX

ubuntu16.04安装NVIDIA显卡驱动或者更换高版本显卡驱动详细(下载.run包方式)_berry丶的博客-CSDN博客_ubuntu更换显卡驱动

cuda+cudnn:

ubuntu16.04安装CUDA10.0和对应版本的cudnn详细流程_berry丶的博客-CSDN博客_cuda10.0对应的cudnn版本

nvcc -V那步修改完bashrc文件后,要把终端关闭再打开,然后输入nvcc -V,凡是修改bashrc基本都有这步,或者source ~/.bashrc

编译cuda:

短短一个make花了我一个下午,甚至还不敢保证完全ok。

遇到很多错误,截过图的就有:

记录下来看过的博客有:

1、

conda 安装R包报错:/bin/sh: x86_64-conda_cos6-linux-gnu-c++: command not found - 简书

2、

https://blog.csdn.net/qq_18649781/article/details/89848797

3、

ERROR: This cross-compiler package contains no program /home/zxm/anaconda3/bin/x86_64-conda_cos6-linux-gnu-gfortran

以及无数看过的。

我这里给一个我认为我解决编译问题的比较合理的思路:

解决思路:

我觉得最核心问题离不开gcc、g++和gfortran(最后这个不一定)。所以这几个一定要正常,然后从报错图可以看出,除了这三个之外还一个很要命的是anaconda。第一张图的错误我在网上找到个要我装gcc_linux等等的,装好以后就有第二三个错误,第三个错误找了半天真找不到解决方法,第二个错误我看到一个这个说法:

unsupported GNU version! gcc versions later than 6 are not supported!_littlehaes的博客-CSDN博客

我还特地装了个gcc5的版本,生怕版本太高不支持。但是奇怪的是,这个错误依旧报,按理来说,我已经用低版本代替gcc执行,不可能版本太高。我最后冒出个想法,我用的apt-get install安装的,但是我的python指向的是anaconda下,并且第三个错误也解决不了,于是我想先得把anaconda解决,就把它给卸载了。

然后我再次make,报了最后一张图的错。于是我又想到下午看过的一篇博客:

Ubuntu16.04编译cuda_10.2实例遇到的问题_Amelie_xiao的博客-CSDN博客

不用make编译,而是用make -k忽略过程中的错误来实现编译,最后成功按上面这个博客的说法算是成功了。

但老实说,毕竟不是直接make编译的,我并不能保证这样就算cuda装好了,但至少上面的思路已经是我觉得最合理的了,也想不出更好的解决方法了。

反思:

说到底是因为我没有好好利用anaconda,当时其实不用直接卸载anaconda的,我既可以新创建一个环境,也可以去sudo gedit ~/.bashrc中注释掉有关anaconda的export。

cudnn:

按教程走就行

项目测试:

这基于我之前博客里的yolov3项目

conda create -n pytorch python=3.6

激活conda:source activate

source deactivate

conda activate pytorch

conda deactivate pytorch

值得注意的是,anaconda同样需要更换下载源。

Anaconda切换国内高速源 - 简书

conda config --show-sources可以用来查看当前anaconda下载源

sudo gedit ~/.condarc

记得https改成http

pip install -r requirements.txt

pip3 install future

pip install tensorboard

用ubuntu跑了一下项目,感觉其实跟windows上的操作基本一样。

然后有两个注意:

1、[Errno 12] Cannot allocate memory

解决方法:

典中典之内存不够,把num_workers从2改到了0即可。

2、还是要先运行voc_annotation,因为即使用移动硬盘,ubuntu下路径和windows依旧不一样,还是得改好路径。

Ubuntu下配置运行yolov3项目的环境(数据集、上github、anaconda、vscode、nvidia驱动、cuda、cuda编译、cudnn)相关推荐

  1. 小白教程:Ubuntu下使用Darknet/YOLOV3训练自己的数据集

    小白教程:Ubuntu下使用Darknet/YOLOV3训练自己的数据集 YOLOV3官网教程:https://pjreddie.com/darknet/yolo/ 使用预训练模型进行检测 git c ...

  2. ubuntu体验python_在Ubuntu下配置舒服的Python开发环境

    Ubuntu 提供了一个良好的 Python 开发环境,但如果想使我们的开发效率最大化,还需要进行很多定制化的安装和配置.下面的是我们团队开发人员推荐的一个安装和配置步骤,基于 Ubuntu 12.0 ...

  3. 在Ubuntu下配置舒服的Python开发环境

    转载自:http://xiaocong.github.io/blog/2013/06/18/customize-python-dev-environment-on-ubuntu/ Ubuntu 提供了 ...

  4. ubuntu下配置JDK和tomcat和IDEA2017(永久激活)开发环境

    一.Ubuntu下配置java环境 1.下载jdk,这里下载的是jdk8版本,地址为http://www.oracle.com/technetwork/java/javase/downloads/jd ...

  5. 深度学习环境配置10——Ubuntu下的torch==1.7.1环境配置

    深度学习环境配置10--Ubuntu下的torch==1.7.1环境配置 注意事项 一.2022/9/18更新 学习前言 各个版本pytorch的配置教程 环境内容 环境配置 一.Anaconda安装 ...

  6. 阿里云ubuntu下配置jdk环境变量总是失效

    阿里云ubuntu下配置jdk环境变量总是失效 暂时未找到解决办法,只能每次失效重新应用配置 source /etc/profile

  7. Star: Ubuntu下配置和编译cpp-ethereum客户端启动GPU加速交易

    Ubuntu下配置和编译cpp-ethereum客户端启动GPU加速交易 Ethereum,中文翻译是"以太坊",是一个公有区块链的开源项目.因为以太坊是基于P2P网络所以没有中心 ...

  8. linux 搭建开发stm32 stlink,Ubuntu下搭建stm32+stlink的开发环境

    Ubuntu下搭建stm32+stlink的开发环境 热度 3已有 15960 次阅读2014-8-19 21:09 | 上周因为忙于别的事情,很久没切到ubuntu下了,这周继续弄了弄. 弄到了一些 ...

  9. 在ubuntu下配置Defects4j

    在ubuntu下配置Defects4j 最近在尝试跑Simfix,但是Simfix的需要Defects4j测试集,先来记录一下defects4j的配置过程.本来对ubuntu系统就不熟悉,一开始就上手 ...

最新文章

  1. kangle web server源代码安装简明教程
  2. Linux内核之内核同步(二)——原子操作
  3. Android NDK学习笔记2:数组
  4. 2019第十届蓝桥杯C/C++ A组省赛 —— 第三题: 最大降雨量
  5. 网易云音乐测开面试题整理
  6. HTTP的请求报文与响应报文
  7. 银行业DevOps状态:来自DOES 2018伦敦大会的报告
  8. 牛客多校第八场E Explorer(左开右闭线段树+可撤回并查集)题解
  9. java新知识系列 六
  10. matlab coefs,MATLAB小波分析工具箱常用函数
  11. matlab:代码输出矢量图
  12. 专家:苹果手机换电池对系统速度几乎没影响
  13. 我的(此)电脑里面除了磁盘以外,多了一个CD驱动器,删除方法,亲测有效
  14. vbscript On Error语句
  15. 高考,你们一定要加油
  16. 【经济学_04】晨读:保险的实质 特效药 医疗膨胀 保险的发明
  17. PyQt5  PyQt5-tools 安装
  18. 化妆品不合肤质惹来老年斑
  19. JDK的下载,安装与配置(Win10安装方法)
  20. 【格林深瞳22校招开发岗】笔试

热门文章

  1. 【技术栈——00061】搭建关于python项目docker镜像的Dockerfile文件示例(自己的)
  2. Word里面的文字怎么批量替换
  3. Windows版本,OS内核版本,Windows SDK之间的关系(附 :Windows纯净系统下载以及更新)
  4. Linux配置(购买云服务器)
  5. 汉语拼音方案里的O(哦)和 UO(窝)
  6. 2022年总结:打开新世界,踏上新征程
  7. itext生成页眉页脚
  8. 红外遥控智能小车 源码
  9. 中国交通标志牌数据集TT1OOK中的类别ID及其图标罗列以及含义详细介绍
  10. 【5G核心网】free5GC UPF源码分析