随手手册,希望对初学者有用,更适用于主技术栈非pytorch偶尔需用的JYM.
想从事AI方向的JYM,是绕不开Python和Pytorch,对于有经验的程序员来说,看如下三文,入门相关的工具基本是OK了。
PyTorch + Anaconda3 + Pycharm 入门工程
LLM工具:Pycharm、PythonConsole及Jupyter比较与Jupyter安装与入门
入门之后就到了具体学习,看视频(文章底部有链接,并非广告,这个作者我也不认识)。 有了一遍视频学习之后,来一个速度手册, 便于快速恢复。 ------ 这是笔者针对目前编程语言众多,各自占不同山头,程序员得知道多种语言技能的处理办法。---
随时更新
用Dir与Help探索工具箱
- dir()函数,能让我们知道工具箱以及工具箱中的分隔区有什么东西
- help()函数,能让我们知道每个工具是如何使用的,工具的使用方法
scss
dir(pytorch)
dir(pythorch.xxx)
help(Dataset)
Dataset
上图序号对标的内容描述
序号 | 内容 |
---|---|
⑴ | 垃圾数据 - (原始数据 ------ 无规则,也可以称之为垃圾) |
⑵ | 提供一种方式获取数据及其Label - 如何获取一个数据集Label - 告诉我们总共有多少数据 |
⑶ | Dataloader - 为后面的网络提供不同数据集 |
⑷ | - |
原图有内容,但贴出来有点乱,影响版面效果
Dataset:提供一种方式去获取数据及其方式
用Jupyter查看dataset的帮助
shell
#1. 启动
jupyter node
#2. 打开浏览器
http://localhost:8888/
3. 点击右侧 [new] --> Python3 (ipykernel)
4. 在浏览器的控制台里输入
Dataset ??
# 或 ```help(Dataset) ```
输出:
Dataset实战
copy数据到工程路径下
安装依赖包
bash
# pip install opencv-python
# 或
pip install pillow
pip install Image
编程
python
# 路径
import os.path
# 引入Dataset
from torch.utils.data import Dataset
# 图像操作
from PIL import Image
# import cv2
# "hymenoptera_data/train/ants/0013035.jpg"
# 继承:Dataset
class MyData(Dataset):
# 实始化函数 - 魔术方法
def __init__(self, root_dir, label_dir):
"""
根目录:root_dir
用目录标签:label_dir
"""
# 创建时给赋值的变量为全局变量 self.xxx
self.root_dir = root_dir
self.label_dir = label_dir
self.path = os.path.join(self.root_dir, self.label_dir)
self.img_path = os.listdir(self.path)
pass
# 都需要继承__getitem__
# idx: 图片地址的索引
def __getitem__(self, idx):
"""
idx: 图片索引侠置 从0开始
"""
# 得到文件名
img_name = self.img_path(idx)
img_item_path = os.path.join(self.root_dir, self.label_dir, img_name)
img = Image.open(img_item_path)
label = self.label_dir
return img, label
def __len__(self):
return len(self.img_path)
if __name__ == '__main__':
root_dir = "hymenoptera_data/train"
ant_label_dir = "ants"
bees_label_dir = "bees"
ants_dataset = MyData(root_dir, ant_label_dir)
bees_dataset = MyData(root_dir, bees_label_dir)
train_data = ants_dataset + bees_dataset
print(len(train_data))
pycharm操作
python 控制台
输入指令,右侧自动显示类的属性、方法或数据
ini
from PIL import Image
img_path = "hymenoptera_data/train/ants/0013035.jpg"
img = Image.open(img_path)
img.show("my")
img.show()
dir_path = "hymenoptera_data/train/ants"
import os
img_path_list = os.listdir(dir_path)
库
OpenCV
OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效 ------ 由一系列C函数和少量 C++类构成,提供了Python、Ruby、MATLAB、java、cuda等语言的接口和机器学习的基础算法调用,实现了图像处理和计算机视觉方面的很多通用算法...(CV:Computer Vision,计算机视觉) 。
安装的时候是 opencv_python,但在导入的时候采用 import cv2。
shell
# 方法一:直接安装
pip install opencv-python
# 方法二 -- 官网下载安装.whl文件
# https://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv
pip install opencv_python‑3.x.x‑cp36‑cp36m‑win_amd64.whl
# 方法三 -- conda环境安装:
conda install opencv-python
PIL
PythonWare公司提供了免费的图像处理工具包 PIL (Python Image Library), 该软件包提供了基本的图像处理功能,如:改变图像大小,旋转图像,图像格式转换,色场空间转换,图像增强,直方图处理,插值和滤波等等...
安装
pip install pillow
pip install Image
使用
python
from PIL import Image ##调用库
...
im = Image.open("E:\mywife.jpg") ##文件存在的路径
im.show()
数据
文件夹名即为标签名
文件夹内的内容
图片文件夹 | 标签文件夹 |
---|---|
按训练所需图片与训练所需标签分类存储
文件夹内的内容
图片文件夹 | 标签文件夹 | 标签内文件格式 |
---|---|---|
注意:图片文件夹中的文件名称与标签文件夹的名称有对应关系
文件名即为标签名
原视频地址 感谢作者