【2020.02.11】jupyter特点、Pytorch数据加载、dataset类的使用

今天学习来源是:https://www.bilibili.com/video/BV1hE411t7RN

学习python的两个常用函数

image-20210211101701000

两个pytorch常用函数

dir()函数,能让我们知道工具箱以及工具箱中的分隔区有什么东西。
help()函数,能让我们知道每个工具是如何使用的,工具的使用方法。
Tips:在使用help函数时候,后面的括号中不用再加括号

Jupyter的特点

使用三种不同的方式运行下方错误代码

image-20210211104311393

三种不同运行方式的比较

代码是以块为一个整体运行的话

python方式: 
python文件的块是所有行的代码,即运行整个文件后报错
优:通用,传播方便,适用于大型项目
缺:需要从头运行

python控制台:
以每一行为块,运行的,当出错的时候,阅读性较差
优:显示每个变量属性
缺:不利于代码阅读及修改

jupyter:
自定义分割块大小以任意行为块运行的,不会影响到其他块的运行
优:利于代码阅读及修改
缺:环境需要配置

(感觉jupyter好特别啊,中和了两种方式)

image-20210211105120346

其中左边的一是错误代码的执行

右边的二是将2019加上双引号,订正了赋值给b的效果

Pytorch数据的加载

dataset 和 dataloader的作用和区别

读取数据涉及到两个类,分别为 datasetdataloader

dataset的作用是:
提供一种方式去获取数据及其label(标签) 

主要实现了两个功能:
如何获取每一个数据及其label
告诉我们总共有多少的数据
dataloader的作用是:

为后面的网络提供不同的数据形式

上传数据包到jupyter并解压

因为要在jupyter中进行运行,jupyter只能上传单个文件,因此上传压缩包

image-20210213165532104

点击upload

image-20210213165712137

新建用于解压的文件

代码如下

import zipfile
import os
files = zipfile.ZipFile('这里改为解压包名称', 'r')
files.extractall('这里是解压目录名')
files.close() 

image-20210213165824339

点击运行,便会解压到当前目录文件夹下,检查一下,训练集确实在当前目录下

image-20210213171115684

导入的简单测试

按照jupyter的思想,我们分块进行处理

先导入库函数

from torch.utils.data import dataset
# 用于相片操作
from PIL import Image
# 系统操作,获取文件列表会用到
import os 

导入一张照片并打开

# 因为在macOS下,目录层级之间是用/进行分隔的,Windows下需要\\进行转义为\
img_path = "hymenoptera_data1/hymenoptera_data/train/ants/0013035.jpg"
# 打印进行检查,特别是Windows
print(img_path)
img = Image.open(img_path)
img.show()

输出正常就行

image-20210213171506608

导入一个文件目录下的所有照片试试

# 这是通过路径获取文件列表
dir_path = "hymenoptera_data1/hymenoptera_data/train/ants"
img_path_list = os.listdir(dir_path)

可以在变量查看的插件里面看到得到的是一个list

插件的安装方法看我之前的博客:https://www.cnblogs.com/mokou/p/14386462.html

image-20210214115802978

此时获得的数据是以数组形式存在

image-20210216112803847

posted @ 2021-02-11 11:23  Mokou  阅读(267)  评论(0编辑  收藏  举报