1. 法宝函数、编译器的初级使用和使用Dataset
正文
本篇博客,主要记录学习pytorch 中常用的"法宝函数"、Pycharm、cmd、jupyter notebook 的使用比较,以及 pytorch 中 Dataset的基本使用。
下面我主要从这三点进行介绍
学习 python 的"法宝函数"
python常常被戏称为胶水语言,以数量庞大、功能齐全的第三方库而出名;这也说明了python难以完全掌握,需要灵活使用帮助文档,这也是我介绍这一节的原因!
这里,我主要介绍两个python自带的函数,dir() 函数,和 help()函数。
下面,我们打开jupyter noteboook 运行一下子,查看效果:
dir() 函数
倘若你经常使用 windows 的cmd,那么你一定了解 dir 命令。说白了 dir就是用来显示当前目录下的文件信息(包括文件、函数、类等信息),python中的dir()函数也是如此,用于显示模块中的文件,或者是类内的函数。
help() 函数
help()函数主要是查看帮助文档,可以使函数的帮助文档,也可以是 类的帮助文档,甚至是模块的;当然了,使用help()往往是用于帮助我们理解类的继承,函数的功能以及调用方法。
如下所示:
同时 jupyter notebook 还支持使用 Dataset ?? 的形式来查看帮助文档
Pycharm、cmd、jupyter notebook的使用比较
pycharm
使用pycharm书写文件往往是使用大的项目
jupyter notebook
使用块来进行运行,更加简洁明了,但是配置起来较为麻烦
pycharm 上的 python console
常常用于代码的调试,因为可以看到变量的类型和方法。因为之前的 pycharm 和 jupyter notebook 都比较常用,这里主要介绍一下 pycharm 下的 python console
Dataset 读取数据集
数据集的组织形式:
- 文件名就是label
- 直接 xml、json或者是xml
没用过Dataset不用怕,首先查看他的帮助文档:
根据帮助文档,知道继承这个抽象类需要做着几件事情
from torch.utils.data import Dataset import os from PIL import Image class MyData(Dataset): def __init__(self, root_dir, label_dir): self.root_dir = root_dir self.label_dir = label_dir self.path = os.path.join(root_dir, label_dir) self.img_path = os.listdir(self.path) def __getitem__(self, idx): img_name = self.img_path[idx] img_path = os.path.join(self.path, img_name) img = Image.open(img_path) label = self.label_dir return img, label def __len__(self): return len(self.img_path) train_path = r"F:\projects\pycharm\pytorch_dl\test\hymenoptera_data\train" label_ants = 'ants' label_bees = 'bees' data_ants = MyData(train_path, label_ants) data_bees = MyData(train_path, label_bees) print(len(data_bees)) print(len(data_ants)) data_all = data_ants + data_bees print(len(data_all)) img_ant, label_ant = data_all[0] img_bee, label_bee = data_all[121]
主要是使用了 os 库
import os os.path.join() #用于路径连接,主要是解决 Linux 和windows下路径符号的问题 os.listdir() #显示路径下的文件,结果是一个列表
PIL中的Image类别
Image.open()进行打开图片
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)