草庐IT

YOLOv5从源码下载到运行保姆级教程

weixin_39424706 2023-04-15 原文

首先搞清楚用到的python anaconda pycharm的关系。

        python是解释器,我们首先在官网下载并安装python3.8。

        anaconda是我们用来配置python环境的,直接在官网下载并安装即可。我们所创建的虚拟环境和安装的包都在anaconda路径下。

        pycharm只是一个IDE,是运行代码的载体,我们要在pycharm里加载在anaconda中配置好的python环境,利用解释器去执行代码。

1、github下载源码

在github上下载源码,以yolov5为例,登录github官网。

 在左上角搜索yolov5,点击All GitHub 

 选择你需要的,最好找到原作者发布的去下载,也可以看下载量,挑多的下。

点进去之后页面如下,下载源码点击code

再点击Download zip(路径无所谓自己选择)

到这源码就下载好了。用pycharm运行代码可以下载源码到本地,也可以直接使用url,本文只介绍下载源码的使用方法。

注:源码下载完需要下载一个.pt文件   将该文件放到项目文件里就OK了

2、pycharm导入文件

File—Open...—选择文件,点击ok,文件就导进来了。

 

下面设置该文件的运行环境

File—Settings

  点击Project Interpreter,点击右上角设置,点击Add...

​​​​​

接下来如下图,选择conda environment,existing environment,选择自己刚刚的虚拟环境,新创建的虚拟环境需要在anaconda里添加,在Anaconda里Lanuch Jupyter 在右上角new里能找到创建的虚拟环境就OK了。如下图

在jupyter notebook 添加 conda 环境的操作详解:conda install ipykernel     #安装ipykernel

python -m ipykernel install --name evepy38    #将环境添加到jupyter notebook。

 上述操作成功才能进行下图操作。

 

3、下载源码所需包(导入pycharm的文件中有一个requirements.txt文件,里面是所有需要的包。)

(1)在开始单找到Anaconda3文件夹里的Anaconda Prompt,点击进入cmd模式

 

  (2)在Anaconda Prompt中完成包的安装

创建虚拟环境   

conda create -n XXX python=3.8  例如:conda create -n evepy38 python=3.8

删除虚拟环境    conda delete -n XXX --all

创建虚拟环境的好处就是每一个程序可以有一个自己的环境,互不干扰。

注:python3.8是你安装的python版本,如果是python3.6就要改成python=3.6,yolov5是基于python3.8环境运行的,这里也要注意下自己的python版本

 是否安装这些默认包,选择是y

如上图,test1这个虚拟环境就创建成功了。 

 进入虚拟环境    

activate test1  (退出虚拟环境:deactivate test1)

前边出现(test1)说明成功进入虚拟环境,

 安装包     

直接安装所需要包 pip install -r requirements.txt

发现一个神奇的方法,如果直接pip install -r requirements.txt下载太慢了,可以在后边加上国内的镜像源pip install -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com,下载速度嗖嗖的!

注:以下方法适用于缺某个包情况。

conda install XXX

卸载包 pip uninstall XXX

一般的包都可以直接用这种方法安装

这种方法是自动下载并安装,可能会出现搜索不到的情况,国内访问一些网站可能需要用到国内镜像源,在.condarc文件中,现有的镜像源搜索不到可以后续添加。

channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  - defaults
ssl_verify: FALSE
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud


opencv安装:建议离线安装

                      下载whl文件,opencv_python-4.5.5-cp36-cp36-win_amd64.whl,下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#protobuf。对应自己电脑版本下载,通过代码查看版本:import wheel.pep425tags as w
       print(w.get_supported())

将下载的文件放在虚拟环境的包文件路径下(不必须在包文件路径,需要的路径里面即可,为了整齐一些,统一放到包文件夹中),例如我的是:D:\ProgramData\Anaconda3\envs\evepy38\Lib\site-packages

通过pip命令安装,pip install D:\ProgramData\Anaconda3\envs\evepy38\Lib\site-packages\opencv_python-4.4.0-cp36-cp36-win_amd64.whl

torch安装:方法一,在线安装

                  进入pytorch官网,有GPU可用的选择CUDA,无GPU可用选择CPU。(查看方法:cmd输入命令 nvidia-smi,这种方法需要nvidia-smi.exe文件的环境变量,通常在此目录下:C:\Program Files\NVIDIA Corporation\NVSMI。或者ctrl+alt+delete启动任务管理器查看。)

复制上图最下边一行代码到Anaconda Prompt,即可在线安装。(我截得的图不是一次截出来的,所以下边图安装的和上边图显示的包名字不一样,没有关系,上图最后一行代码完全复制即可运行不需要任何更改)

torch安装:方法二,离线安装

                  首先下载whl文件torch-1.7.1+cpu-cp38-cp38-win_amd64.whl,下载地址:https://download.pytorch.org/whl/torch_stable.html 。

                  将下载的文件放在虚拟环境的包文件路径下(不必须在包文件路径,需要的路径里面即可,为了整齐一些,统一放到包文件夹中)。

                  通过pip命令安装即可,pip install D:\ProgramData\Anaconda3\envs\evepy38\Lib\site-packages\torch-1.7.1+cpu-cp38-cp38-win_amd64.whl。

                  torchvirsion跟torch离线安装一样,下载地址一样,注意版本依赖如下图。

thop安装:

                首先,找到该包的GitHub链接,例如我要安装的是thop包,所以我找到了这个包的GitHub链接https://github.com/Lyken17/pytorch-OpCounter

                将压缩包下载解压放到虚拟环境的包文件路径下(不必须在包文件路径,需要的路径里面即可,为了整齐一些,统一放到包文件夹中)

                打开annaconda prompt或者cmd,激活到tensorflow或者pytorch的环境下面,然后cd(cd/d D:\ProgramData\Anaconda\Anaconda3\envs\evepy38\Lib\site-packages\pytorch-OpCounter-master)到刚刚下载解压的thop路径

                运行 python setup.py install 语句,等环境更新就OK了

经常用到的命令:

        创建一个名为evepy38的虚拟环境:conda create -n evepy38 python=3.8

        删除虚拟环境:conda remove -n evepy38 --all

        进入虚拟环境:activate evepy38

        退出虚拟环境:deactivate evepy38

        显示全部信息:conda info

        显示所有虚拟环境:conda info --env

        查看已安装包:conda list

        升级包:pip install --upgrade XXX

        卸载包:pip uninstall XXX

cmd进入python环境:

4、安装完包就可以运行啦!!

选择detect.py运行。

运行完会有一个runs文件夹即可查看运行结果。

由于本人水平有限,如有表述不清晰,内容错误的地方欢迎大家批评指正!

有关YOLOv5从源码下载到运行保姆级教程的更多相关文章

  1. ruby - 如何从 ruby​​ 中的字符串运行任意对象方法? - 2

    总的来说,我对ruby​​还比较陌生,我正在为我正在创建的对象编写一些rspec测试用例。许多测试用例都非常基础,我只是想确保正确填充和返回值。我想知道是否有办法使用循环结构来执行此操作。不必为我要测试的每个方法都设置一个assertEquals。例如:describeitem,"TestingtheItem"doit"willhaveanullvaluetostart"doitem=Item.new#HereIcoulddotheitem.name.shouldbe_nil#thenIcoulddoitem.category.shouldbe_nilendend但我想要一些方法来使用

  2. ruby - 如何每月在 Heroku 运行一次 Scheduler 插件? - 2

    在选择我想要运行操作的频率时,唯一的选项是“每天”、“每小时”和“每10分钟”。谢谢!我想为我的Rails3.1应用程序运行调度程序。 最佳答案 这不是一个优雅的解决方案,但您可以安排它每天运行,并在实际开始工作之前检查日期是否为当月的第一天。 关于ruby-如何每月在Heroku运行一次Scheduler插件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8692687/

  3. ruby-on-rails - 如何在 ruby​​ 中使用两个参数异步运行 exe? - 2

    exe应该在我打开页面时运行。异步进程需要运行。有什么方法可以在ruby​​中使用两个参数异步运行exe吗?我已经尝试过ruby​​命令-system()、exec()但它正在等待过程完成。我需要用参数启动exe,无需等待进程完成是否有任何ruby​​gems会支持我的问题? 最佳答案 您可以使用Process.spawn和Process.wait2:pid=Process.spawn'your.exe','--option'#Later...pid,status=Process.wait2pid您的程序将作为解释器的子进程执行。除

  4. ruby - 无法运行 Rails 2.x 应用程序 - 2

    我尝试运行2.x应用程序。我使用rvm并为此应用程序设置其他版本的ruby​​:$rvmuseree-1.8.7-head我尝试运行服务器,然后出现很多错误:$script/serverNOTE:Gem.source_indexisdeprecated,useSpecification.Itwillberemovedonorafter2011-11-01.Gem.source_indexcalledfrom/Users/serg/rails_projects_terminal/work_proj/spohelp/config/../vendor/rails/railties/lib/r

  5. ruby - 如何使用 Ruby aws/s3 Gem 生成安全 URL 以从 s3 下载文件 - 2

    我正在编写一个小脚本来定位aws存储桶中的特定文件,并创建一个临时验证的url以发送给同事。(理想情况下,这将创建类似于在控制台上右键单击存储桶中的文件并复制链接地址的结果)。我研究过回形针,它似乎不符合这个标准,但我可能只是不知道它的全部功能。我尝试了以下方法:defauthenticated_url(file_name,bucket)AWS::S3::S3Object.url_for(file_name,bucket,:secure=>true,:expires=>20*60)end产生这种类型的结果:...-1.amazonaws.com/file_path/file.zip.A

  6. ruby - Sinatra:运行 rspec 测试时记录噪音 - 2

    Sinatra新手;我正在运行一些rspec测试,但在日志中收到了一堆不需要的噪音。如何消除日志中过多的噪音?我仔细检查了环境是否设置为:test,这意味着记录器级别应设置为WARN而不是DEBUG。spec_helper:require"./app"require"sinatra"require"rspec"require"rack/test"require"database_cleaner"require"factory_girl"set:environment,:testFactoryGirl.definition_file_paths=%w{./factories./test/

  7. ruby - 安装 Ruby 时遇到问题(无法下载资源 "readline--patch") - 2

    当我尝试安装Ruby时遇到此错误。我试过查看this和this但无济于事➜~brewinstallrubyWarning:YouareusingOSX10.12.Wedonotprovidesupportforthispre-releaseversion.Youmayencounterbuildfailuresorotherbreakages.Pleasecreatepull-requestsinsteadoffilingissues.==>Installingdependenciesforruby:readline,libyaml,makedepend==>Installingrub

  8. ruby-on-rails - 无法让 rspec、spork 和调试器正常运行 - 2

    GivenIamadumbprogrammerandIamusingrspecandIamusingsporkandIwanttodebug...mmm...let'ssaaay,aspecforPhone.那么,我应该把“require'ruby-debug'”行放在哪里,以便在phone_spec.rb的特定点停止处理?(我所要求的只是一个大而粗的箭头,即使是一个有挑战性的程序员也能看到:-3)我已经尝试了很多位置,除非我没有正确测试它们,否则会发生一些奇怪的事情:在spec_helper.rb中的以下位置:require'rubygems'require'spork'

  9. ruby-on-rails - before_filter 运行多个方法 - 2

    是否有可能:before_filter:authenticate_user!||:authenticate_admin! 最佳答案 before_filter:do_authenticationdefdo_authenticationauthenticate_user!||authenticate_admin!end 关于ruby-on-rails-before_filter运行多个方法,我们在StackOverflow上找到一个类似的问题: https://

  10. UE4 源码阅读:从引擎启动到Receive Begin Play - 2

    一、引擎主循环UE版本:4.27一、引擎主循环的位置:Launch.cpp:GuardedMain函数二、、GuardedMain函数执行逻辑:1、EnginePreInit:加载大多数模块int32ErrorLevel=EnginePreInit(CmdLine);PreInit模块加载顺序:模块加载过程:(1)注册模块中定义的UObject,同时为每个类构造一个类默认对象(CDO,记录类的默认状态,作为模板用于子类实例创建)(2)调用模块的StartUpModule方法2、FEngineLoop::Init()1、检查Engine的配置文件找出使用了哪一个GameEngine类(UGame

随机推荐