最近因为毕设需要用到目标检测的功能,所以在完全小白的前提下学习了下YOLOv3(Windows10+Keras+VSCode+
Tensorflow),在使用VSCode时遇到了不少坑,在此记录一二。
关于YOLOv3的学习及相关代码大家可以参考这篇博客:https://blog.csdn.net/weixin_44791964/article/details/103276106,博主同时在GitHub分享了YOLOv3的代码及自己在B站的视频讲解,真的很棒!在此也感谢博主的分享。下面今天直入主题
一、VSCode的安装及基本的配置(貌似没有二hhh)
提前说一下,我的Anaconda下载的3.7版本的,然后创建的python3.6的环境用来搭建YOLOv3的环境,后面VSCode里也是用的这个环境,当然问题也是出现在这里。目前最新版本的Anaconda自带的Navigator里已经不再提供VSCode的安装了,所以需要我们手动安装VScode的IDE。
1、VSCode下载安装
地址(官网):https://code.visualstudio.com/
因为我是Windows系统所以如上图所示下载Windows x64版本的,下载完成后双击.exe文件选择自己的安装位置进行安装,这里安装过程比较简单就省略啦~~
2、VSCode的配置
因为我是需要用到python,所以就以python环境为例。
首先安装python插件。注意这里的插件不是又一次安装python,而是VSCode的有关插件。安装过程见下图。点击侧边栏的拓展插件按钮,然后再搜索框输入python,然后点击安装按钮,因为我已经安装过了,所以我的显示的只有“卸载”选项。
刚安装好的VSCode应该是英文版的,大家不习惯的话可以用同样的方法安装“Chinese (Simplified) Language Pack for Visual Studio Code”插件,然后就可以快乐地使用汉化版的VSCode啦~~~VSCode还有很多很有用的插件,这里就不一一讲解了,有兴趣的话可以百度了解下哦~~~不过在此推荐几个令人开心的插件吧:vscode-icons(美化文件图标)、Code Runner(代码一键运行插件,方便易用,强烈安利)、Bracket Pair Colorizer(给不同级别的括号以不同颜色,便于理解,极度人性化的插件)。
下面就是python环境的配置啦,首先我安装的3.7版本的conda自带的python是3.7版本的,因为代码需要,所以创建了一个3.6的环境(不得不说,conda在python版本管理中是真的好用hhh),有关创建不同版本python环境的方法比较简单,大家可以自行百度哈。然后就是在VSCode中选择相应的3.6环境,如下图,首先点击左下角显示环境的位置,然后会出现2所示选项,因为我的python3.6环境的文件夹叫yolov3,所以就选择这个啦~。
我以为这么就可以开始快乐编程了吗?天真!后面还有坑等着呐!操作完上面的步骤后,我也是快乐地把在GitHub上clone的yolov3代码运行了下,因为我安装了Code Runner插件,所以就在相应的py文件上右键,直接点击Run Code选项(或者Ctrl+Shift+N),哦豁,错误来了:ModuleNotFoundError: No module named 'tensorflow'。
什么!?你说没找到我的tensorflow??但是我明明已经提前装好了呀,而且在cmd里也能import呀,你VSCode咋就没认出来?!!你说崩溃不,我又是百度谷歌轮番上阵也没找到适合我的解决方法,嗨!自己慢慢扣吧,我就找到了当时安装的Code Runner插件,果然!!是这家伙的问题!!来听我慢慢道来~~~~
首先,选择文件->首选项->设置->拓展->Run Code configuration,然后找到Executor Map选项,点击下面的“在setting.json中编辑”的按钮,如下:
之后就自动跳转到setting.json的编辑框里,这里保存了用户对环境设置的一些json格式的文件,我们一起来看看吧:
就是箭头所指的地方,定义了Code Runner对不同语言的执行命令,我在这里加上了自己python3.6环境的执行路径,这样的话就可以顺利地执行python3.6环境下地文件啦~前提是文件所需的module你要提前在3.6的环境中安装好哦~~
其实如果不定义上述这个地方,系统会默认执行“python”命令,这时执行的就是conda自带的python3.7版本的的解释器啦。大家可以用同样的方法设置代码在Terminal中运行,就可以明显的看到系统运行所使用的命令啦~方法:文件->首选项->设置->拓展->Run Code configuration->Run in Terminal,然后在前面的框框里打上勾选择Run in Terminal,这里的作用就等同于在上图所示在setting.json文件中添加了一句“"code-runner.runInTerminal": true”,上图中我给注释掉了,解注释之后再在原来的代码中右键Run Code:
这样就明显看到代码的运行指令啦,这次就是之前定义的那个python解释器啦(图中黄色字体),如果大家事先不设置Run Code configuration中的Executor Map,这里的命令就会是“python”,即默认3.7版本的,有兴趣的小伙伴可以自己试验下哦~
今天的填坑之路就是这样啦~~~另外给大家推荐一个Google的免费服务器Colaboratory,根据自己的使用经验,他是Linux系统的,貌似GPU运行有时长限制,需要申请一个谷歌账号,具体怎么上Google大家自行百度哦~
关于Google Colab怎么用,大家可以查看我的这篇博客哦:https://blog.csdn.net/Flag_ing/article/details/105876360