YOLO实践应用之搭建开发环境(Windows系统、Python 3.8、TensorFlow2.3版本)

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
简介: 基于YOLO进行物体检测、对象识别,先和大家分享如何搭建开发环境,会分为CPU版本、GPU版本的两种开发环境,本文会分别详细地介绍搭建环境的过程。主要使用TensorFlow2.3、opencv-python4.4.0、Pillow、matplotlib 等依赖库。

前言

 基于YOLO进行物体检测、对象识别,先和大家分享如何搭建开发环境,会分为CPU版本、GPU版本的两种开发环境,本文会分别详细地介绍搭建环境的过程。

主要使用TensorFlow2.3、opencv-python4.4.0、Pillow、matplotlib 等依赖库。


搭建环境参数

系统:Windows       编程语言:Python 3.8          

深度学习框架:TensorFlow 2.3        整合开发环境:Anaconda        开发代码IDE:PyCharm

推荐理由:1)Anaconda +PyCharm,能适应较多的开发环境,比如,创建一个TensorFlow2.3的环境,创建一个TensorFlow1.5的环境,是不会相互影响的,而且切换很方便。相对来说VScode在环境配置和切换就差一些了,尽管我也挺喜欢VScode的。

2)使用Python语言相对C、C++更好上手,易于理解。


 一、安装Anaconda

  大家到官网下载Windows 版本的Anaconda,选择电脑的位数(32位 / 64位):目前最新默认使用Python 3.8了,没关系的,等下我们可以创建一个独立的conda开发环境,安装Python 3.6就好啦。

Free Download | Anaconda

image.gif编辑

在网页中拉到底下,即可看到上图页面;比如,电脑系统是Windows的64位,选择红色框框的;如果是32位的,选择红框下一个。下载好后,其是一个可执行文件,例如:Anaconda3-2020.07-Windows-x86_64.exe。

双击可执行文件,进行安装,过程安装引导安装即可;(同意,下一步)

需要注意:添加环境变量的需要勾上√,如果默认使用PYthon3.8的第二个勾上,

image.gif

后面默认直至安装完成。


二、安装TensorFlow

 这里是在Anaconda中安装TensorFlow 2.3的,大家可以想象Anaconda为一个资源管理器,在支持PYthon3 的基础上,安装许多深度学习用到的包或依赖库,然后封装成一个独立的开发环境;最好后在PyCharm直接使用封装好的开发环境。

首先在应用程序中打开“Anaconda Prompt(naconda3)”:

image.gif

大家先选择一下,是安装CPU环境,还是GPU环境,建议尽量安装GPU环境,这样做YOLO的物体检测、目标识别时会更快和流畅。先看下是否符合GPU环境的要求:

GPU 前提条件:电脑中有显卡,NVIDIA品牌;而且在windows中的显卡驱动的版本 >=418.96

1)如果满足这个条件的朋友,恭喜你可以布置GPU加速环境,训练神经网络时可以用到GPU进行加速。

2)如果不满足这个条件的朋友,先去看看我这边博客:一篇文章清晰了解NVIDAI显卡驱动(包括:CUDA、CUDA Driver、CUDA Toolkit、CUDNN、NCVV) 这里面有介绍较旧的显卡(例如我的旧电脑是GTX950M),安装较新版本的显卡驱动(445.87版本);从而实现使用GTX950M显卡进行加速神经网络训练等。新电脑的显卡是GTX1660了。

3)如果电脑没显卡,或不想使用GPU加速的朋友,可以跳过布置GPU加速环境

1、YOLO开发环境——CPU版本

1)新建一个名为 YOLO3-CPU-TensorFlow2 的开发环境,使用PYthon3.8

conda create  -n YOLO3-CPU-TensorFlow2  python=3.8

image.gif

安装过程询问y / n; 输入y 同意安装

image.gif

等待安装完成即可。

2)进入刚才创建的环境

conda activate YOLO3-CPU-TensorFlow2

3)安装TensorFlow2.3.1

pip install tensorflow==2.3.1   -i https://mirrors.aliyun.com/pypi/simple/

这里等待安装完成即可; 分析-i https://mirrors.aliyun.com/pypi/simple/  是指定国内的软件源来下载,这样比较快。

image.gif

4)验证是否环境安装成功

进入Python环境:

python

输入命令导入TensorFlow库:import tensorflow as tf

查看其版本:tf.__version__

image.gif


2、YOLO开发环境——GPU版本

前提条件:电脑中有显卡,NVIDIA品牌;而且在windows中的显卡驱动的版本 >=418.96

1)新建一个名为 YOLO3-GPU-TensorFlow2 的环境,使用PYthon3.8

conda create  -n YOLO3-GPU-TensorFlow2  python=3.8

安装过程询问y / n; 输入y 同意安装

等待安装完成即可。

2)进入刚才创建的环境

conda activate YOLO3-GPU-TensorFlow2

3)安装TensorFlow2.3.1

pip install tensorflow-gpu==2.3.1   -i https://mirrors.aliyun.com/pypi/simple/

这里等待安装完成即可; 分析 -i https://mirrors.aliyun.com/pypi/simple/ 是指定国内的软件源来下载,这样比较快。

image.gif

等待安装完成;

image.gif

下面安装英伟达的cudatoolkit、和英伟达深度学习软件包cudnn

a)安装英伟达的cudatoolkit 10.1版本

conda install cudatoolkit=10.1

image.gif

安装过程需要选择y,等待安装完成。

b)安装英伟达深度学习软件包7.6版本

conda install cudnn==7.6.*

image.gif

如果上面cudatoolkit、cudnn两条语句顺利安装没报错,恭喜你啊,布置GPU加速环境成功啦。

4)验证是否环境安装成功

进入Python环境:

python

输入命令导入TensorFlow库:import tensorflow as tf

查看其版本:tf.__version__

image.gif

完成啦!!


三、安装PyCharm

我们到官方下载社区版的PyCharm,无需在网上找破解版的;

Download PyCharm: Python IDE for Professional Developers by JetBrains

image.gif

然后来到下图页面:

image.gif

下载好后是一个可执行文件,例如:pycharm-community-2020.1.exe

双击可执行文件进行安装,默认安装即可,需要注意的下图:

image.gif

然后等待安装完成后,需要重启电脑哦。


四、安装YOLO3用到的依赖库

主要安装python版本的OpenCV、Keras、Pillow、matplotlib;建议大家根据下面的命令进行安装,下面的依赖库指定的版本是通过测试的。其中 -i https://pypi.mirrors.ustc.edu.cn/simple 主要是指定pip 为国内软件源安装,提升安装速度。

下面依赖库安装通常是没什么问题的,就不截图安装过程了

pip install opencv-python==4.4.0.44 -i https://mirrors.aliyun.com/pypi/simple/

pip install Pillow -i https://mirrors.aliyun.com/pypi/simple/

pip install matplotlib -i  https://mirrors.aliyun.com/pypi/simple/


五、配置PyCharm开发环境

1)打开PyCharm,新建工程;

image.gif

2)然后选择 1 工程所放目录路径;2 点击查看详情配置; 3点击选择创建的开发环境

image.gif

3)设置开发环境,使用之前在Anaconda创建好的环境:YOLO3-GPU-Tensoflow2

image.gif

点击OK,然后点击create。

image.gif


测试环境

新建一个python文件,编写测试程序:

测试代码:

import  tensorflow as tf
tensorflow_version = tf.__version__
#以下两行代码适合有“布置GPU环境的”
gpu_available = tf.test.is_gpu_available()
print("tensorflow version:", tensorflow_version, "\tGPU available:", gpu_available)
#以下一行代码适合没有“布置GPU环境的”,纯CPU版本的
#print("tensorflow version:", tensorflow_version)
a = tf.constant([1.0, 2.0], name="a")
b = tf.constant([1.0, 2.0], name="b")
result = tf.add(a, b, name="add")
print(result)

image.gif

运行结果:

image.gif

能看到YOLO的开发环境搭建成功了,恭喜啊。

先看一下LOYOv3 的效果:YOLOv3物体/目标检测之实战篇(Windows系统、Python3、TensorFlow2版本)

1)有四只小猫被检测出来:

使用浅蓝色的框框,把小猫的所在位置框出来,并在框框上方注释标签(类别 置信度)。比如第一只小猫检测出的标签是cat ,置信度是0.95,即有95%的把握认为是cat 猫。

image.gif

2)一只小狗和一只小猫同时被检测出来:

小猫被检测出是cat,1.00;有100%的把握认为是cat 猫;

小狗被检测出是dog,0.97;有97%的把握认为是cat 猫;

image.gif

3)在复杂的十字路口,有许多行人和车辆被检测出来了:

大家可以看到大部分的行人、小汽车和公交车是被检测出来了,存在小部分没有被检测出来;如果是做特定场景的目标检测,建议大家后续采购特定场景的数据,重新训练网络,生成稳定且高精度的模型,保存权重文件,便于后续使用。

image.gif

希望对你有帮助,如果发现文章有误,欢迎指出。

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
相关文章
|
8天前
|
机器学习/深度学习 存储 数据挖掘
Python图像处理实用指南:PIL库的多样化应用
本文介绍Python中PIL库在图像处理中的多样化应用,涵盖裁剪、调整大小、旋转、模糊、锐化、亮度和对比度调整、翻转、压缩及添加滤镜等操作。通过具体代码示例,展示如何轻松实现这些功能,帮助读者掌握高效图像处理技术,适用于图片美化、数据分析及机器学习等领域。
49 20
|
1月前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
2月前
|
机器学习/深度学习 Python
堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能
本文深入探讨了堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能。文章详细介绍了堆叠的实现步骤,包括数据准备、基础模型训练、新训练集构建及元学习器训练,并讨论了其优缺点。
103 3
|
2月前
|
机器学习/深度学习 算法 数据挖掘
线性回归模型的原理、实现及应用,特别是在 Python 中的实践
本文深入探讨了线性回归模型的原理、实现及应用,特别是在 Python 中的实践。线性回归假设因变量与自变量间存在线性关系,通过建立线性方程预测未知数据。文章介绍了模型的基本原理、实现步骤、Python 常用库(如 Scikit-learn 和 Statsmodels)、参数解释、优缺点及扩展应用,强调了其在数据分析中的重要性和局限性。
90 3
|
22天前
|
算法 数据处理 Python
高精度保形滤波器Savitzky-Golay的数学原理、Python实现与工程应用
Savitzky-Golay滤波器是一种基于局部多项式回归的数字滤波器,广泛应用于信号处理领域。它通过线性最小二乘法拟合低阶多项式到滑动窗口中的数据点,在降噪的同时保持信号的关键特征,如峰值和谷值。本文介绍了该滤波器的原理、实现及应用,展示了其在Python中的具体实现,并分析了不同参数对滤波效果的影响。适合需要保持信号特征的应用场景。
97 11
高精度保形滤波器Savitzky-Golay的数学原理、Python实现与工程应用
|
1月前
|
缓存 开发者 Python
深入探索Python中的装饰器:原理、应用与最佳实践####
本文作为技术性深度解析文章,旨在揭开Python装饰器背后的神秘面纱,通过剖析其工作原理、多样化的应用场景及实践中的最佳策略,为中高级Python开发者提供一份详尽的指南。不同于常规摘要的概括性介绍,本文摘要将直接以一段精炼的代码示例开篇,随后简要阐述文章的核心价值与读者预期收获,引领读者快速进入装饰器的世界。 ```python # 示例:一个简单的日志记录装饰器 def log_decorator(func): def wrapper(*args, **kwargs): print(f"Calling {func.__name__} with args: {a
47 2
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
探索未来编程:Python在人工智能领域的深度应用与前景###
本文将深入探讨Python语言在人工智能(AI)领域的广泛应用,从基础原理到前沿实践,揭示其如何成为推动AI技术创新的关键力量。通过分析Python的简洁性、灵活性以及丰富的库支持,展现其在机器学习、深度学习、自然语言处理等子领域的卓越贡献,并展望Python在未来AI发展中的核心地位与潜在变革。 ###
|
2月前
|
机器学习/深度学习 自然语言处理 语音技术
Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧
本文介绍了Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧,并通过TensorFlow和PyTorch等库展示了实现神经网络的具体示例,涵盖图像识别、语音识别等多个应用场景。
90 8
|
25天前
|
存储 缓存 算法
探索企业文件管理软件:Python中的哈希表算法应用
企业文件管理软件依赖哈希表实现高效的数据管理和安全保障。哈希表通过键值映射,提供平均O(1)时间复杂度的快速访问,适用于海量文件处理。在Python中,字典类型基于哈希表实现,可用于管理文件元数据、缓存机制、版本控制及快速搜索等功能,极大提升工作效率和数据安全性。
62 0
|
2月前
|
设计模式 开发者 Python
Python编程中的设计模式应用与实践感悟####
本文作为一篇技术性文章,旨在深入探讨Python编程中设计模式的应用价值与实践心得。在快速迭代的软件开发领域,设计模式如同导航灯塔,指引开发者构建高效、可维护的软件架构。本文将通过具体案例,展现设计模式如何在实际项目中解决复杂问题,提升代码质量,并分享个人在实践过程中的体会与感悟。 ####