23.9.27 吴恩达深度学习编程作业——卷积神经网络作业3 (YOLO原理-车辆检测)注意事项
注意事项 :
1.吴恩达老师的代码过于老旧,因此需要降低tensorflow的版本为1.x的,相应的numpy和keras等包都需要降低版本
为了与本地的python环境区分开来,我在anaconda中重新建立了python3.6.2的环境NG_DeeoLearning:
以下是降低完版本之后的一些packages的版本:箭头指出了这个作业需要用到的主要的包,后面是它对应的版本。
注意,在anaconda里面下载的时候,我使用的conda install xxx来进行下载的,而不是pip install xxx
2.anaconda虚拟环境python3.6.2的jupyter的工作目录和本地的python3.11的jupyter工作目录不是同一个地方
1)首先看下如何激活特定的虚拟环境:
conda activate NG_DeepLearning(虚拟环境名字)
2)然后看下如何在某虚拟环境中启动特定工作目录的juyter notebook
jupyter notebook --notebook-dir F:\A_yan_learning\jupyter_xuni_yan1 (是虚拟环境的工作目录的路径)
3) 注意路径一定要全英文,否则在读取.h5文件的时候就会出现utf-8的错误!
4)完毕,可以在此环境下使用何宽大佬的代码啦
3.anaconda的一些常用命令
-
conda list 查看安装了哪些包。
-
conda env list 或 conda info -e 查看当前存在哪些虚拟环境
-
conda update conda 检查更新当前conda
-
conda --version 查询conda版本
-
conda -h 查询conda的命令使用
-
conda info --envs 查看每个虚拟环境安装的位置
-
jupyter notebook --notebook-dir F:\A_yan_learning\jupyter_xuni_yan1 在虚拟环境中,anaconda指定工作目录,避免跟本地的python发生冲突
4.代码中的一些查询命令
-
返回 Python 解释器的绝对路径,这意味着它指向您当前正在使用的 Python 解释器的位置
import sys sys.executable
-
输出当前笔记保存的位置
import os current_directory = os.getcwd() print(current_directory)
-
输出tensorflow的版本和位置
import tensorflow as tf print(tf.__file__) print("tensorflow的版本:",tf.__version__)
-
输出keras的版本和位置
- import keras print(keras.__file__) print("keras的版本:",keras.__version__) print("可以看到当前的tensorflow与keras都是在虚拟环境NG_DeepLearning中创建的!")
-
显示gif图像
from IPython.display import Image, display
# 定义GIF图像的文件路径
gif_path = './image_gif_myself/vehicle1.gif' # 替换为您的GIF图像文件路径
# 使用Image和display函数显示GIF图像
display(Image(filename=gif_path))
-
markdown模式下写这个也可以显示gif图像
<img src="./image_gif_myself/vehicle1.gif" alt="GIF Image">
-
显示文件的信息
class_names = yolo_utils.read_classes("model_data/coco_classes.txt")#读取类别名称 anchors = yolo_utils.read_anchors("model_data/yolo_anchors.txt")#读取锚框信息 image_shape = (720.,1280.)#定义了输入图像的形状 #在对象检测任务中,通常需要指定输入图像的大小,以便模型能够正确地处理图像。
#查看类别名称和锚框 #查看类别名称 with open("model_data/coco_classes.txt", "r") as file: file_contents = file.read() #显示文件内容 print("80个类别名称:") print(file_contents) #查看锚框 with open("model_data/yolo_anchors.txt", "r") as file: file_contents = file.read() print("5个锚框的宽度和高度是:") print(file_contents)