PyTorch深度学习入门笔记P1-6

@ZZHow(ZZHow1024)

参考课程:

PyTorch深度学习快速入门教程【小土堆】

[https://www.bilibili.com/video/BV1hE411t7RN]

P1. PyTorch环境的配置及安装(Configuration and Installation of PyTorch)

P2. Python编辑器的选择、安装及配置(PyCharm、Jupyter安装)

P3. Python学习中的两大法宝函数(当然也可以用在PyTorch)

  • dir() 函数:列出对象的属性和方法
    • 功能:用于返回指定对象的所有属性和方法列表(包括内置的属性和方法)。如果不传入参数,则返回当前作用域中的所有变量、模块、函数等名称。

    • 语法

      dir([object])
      
      • 参数object 是可选的,可以是任何Python对象(如模块、类、实例、函数等)。如果省略参数,则返回当前作用域的名称列表。
    • 返回值:返回一个按字母顺序排序的字符串列表,包含对象的所有属性和方法名。

  • help() 函数:获取对象的详细文档
    • 功能help() 用于返回指定对象的详细文档字符串(docstring),包括函数/类的功能描述、参数说明、返回值、示例等。它是快速查阅Python内置功能或第三方库文档的首选工具。

    • 语法

      help([object])
      
      • 参数object 是可选的,可以是模块、类、函数、方法等。如果省略参数,会进入交互式帮助模式(输入对象名后回车查看文档)。
    • 返回值:直接在控制台打印对象的文档字符串(如果没有文档字符串,则可能显示简略信息)。

P4. PyCharm及Jupyter使用及对比

特性Python文件(.py)Python控制台Jupyter Notebook
代码组织形式文件形式,支持多模块交互式逐行输入单元格分块,混合代码与文本
交互性低(需手动运行)高(实时反馈)高(分块执行,变量保留)
适用场景完整项目开发快速测试小段代码数据分析、教学文档
调试支持强(断点、变量监视)弱(简单断点)中等(依赖单元格执行)
结果可视化需手动输出或保存图表直接打印结果内置图表渲染(Matplotlib等)
持久化与复用性高(代码可保存、版本控制)低(会话结束即丢失)中等(需保存.ipynb文件)
学习/教学友好性一般(需理解文件结构)一般(适合简单逻辑)高(适合分步讲解)

P5. PyTorch加载数据初认识

  • 数据
  • Dataset:提供一种方式去获取数据及其 label
  • Dataloader:为后面的网络提供不同的数据形式

P6. Dataset类代码实战

class MyData(Dataset):
    def __init__(self, root_dir, label_dir):
        self.root_dir: str = root_dir
        self.label_dir: str = label_dir
        self.path: str = os.path.join(self.root_dir, self.label_dir)
        self.image_path_list = os.listdir(str(self.path))

    def __getitem__(self, index):
        image_name: str = self.image_path_list[index]
        image_item_path: str = os.path.join(self.path, image_name)
        image = Image.open(image_item_path)
        label = self.label_dir

        return image, label

    def __len__(self):
        return len(self.image_path_list)

更多推荐