深度学习速成get知识点
dir()
它可以展示一个package中所有的方法和类,以列的方式展示出来。help()
它可以具体展示某个方法或者类的使用说明,也可以使用方法??
后面接两个问号的方式,实现提示功能jupyter,python console,python文件的区别和使用
python文件:他会将所有内容都重新编译运行,比较耗时,适合完整的大型项目
jupyter,python console:都可以将每一个python语句拆分成任意块去单独执行。执行速度快。不会重复运行
但是python console如果出了错误。会很影响阅读体验。因此常用来做测试
而jupyter有着文字和代码共存的特性适合用来做笔记和学习TensorBoard的使用
他可以将数据转化成图表类型,更加的可观,明了。
例1:1
2
3
4
5
6
7
8
9
10
11
12from torch.utils.tensorboard import SummaryWriter
# from read_image import img_array
writer = SummaryWriter("logs") # 他会生成这个文件夹,并在close后写入数据
# print(type(img_array))
# print(img_array.shape)
# writer.add_image("test",img_array,1,dataformats='HWC')
# y = x
for i in range(100):
writer.add_scalar("y=2x",2*i,i)
writer.close()然后在cmd窗口打开tensorboard,使用该命令
tensorboard --logdir=logs --port=6006
,他默认端口为6006
同样的,可以添加图片,即将上述代码的注释去除。
并带上这些读取图片的代码:1
2
3
4
5
6
7from PIL import Image
import numpy as np
image_path = "data/train/ants-image/0013035.jpg"
img = Image.open(image_path)
img_array = np.array(img)因为tensorboard读取图片只能使用固定的两种格式的数据,因此我们采用numpy格式的图片读入
transforms
他的本质就是一个强大的工具类,我们通过具体化这些工具类,并生成自己需要的工具,然后使用1
2
3
4
5
6
7
8
9
10# tenser数据类型:通过transforms.ToTenser去实现
# tenser数据类型:就是一个包装了反向神经网络所需要的参数的数据类型
img_path = "data/train/ants-image/0013035.jpg"
img = Image.open(img_path)
# print(img)
tensor_trains = transforms.ToTensor()
tensor_img = tensor_trains(img)
print(tensor_img)
常用的transforms
1 | from PIL import Image |
- dataset的使用例子
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27from torch.utils.data import Dataset
from PIL import Image
import os
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, index):
img_name = self.img_path[index]
img_item_path = os.path.join(self.path,img_name)
img = Image.open(img_item_path)
label = self.label_dir
return img,label
def __len__(self):
return len(self.img_path)
root_dir = "dataset/train"
ants_label_dir = "ants"
bees_label_dir = "bees"
ants_dataset = MyData(root_dir,ants_label_dir)
bees_dataset = MyData(root_dir,bees_label_dir)
train_dataset = ants_dataset+bees_dataset
dataset 和 dataloader
dataset就是一个数据集。而dataloader是用来从dataset中取数据的一个工具
模型的保存和读取
保存
读取
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 小贺同学的blog!
评论