1、Pytorch环境package
![pytorch环境](https://img-blog.csdnimg.cn/d181915db7c644bd8f3ba275b547831f.png#pic_center)
道具:
dir(): 打开,看见
dir(pytorch) 输出:1、2、3、4
dir(pytorch) 输出:a、b、c
help(): 说明书
help(pytorch.3.a)
2、查看pytorch环境是否可以使用GPU
import torch
torch.cuda.is_available()
输出:True 则可以正常使用
dir(torch) torch中的分割区
dir(torch.cuda) torch的分割区cuda中的分隔区
help(torch.cuda.is_available)
3、pytorch加载数据
(1)Dataset
提供一种方式去获取数据及其label
在一堆垃圾数据中提取有用的信息并进行编号
如何获取每一个数据及其label
告诉我们总共有多少个数据
(2)Dataloader
为后面的网络提供不同的数据形式(进行打包)
数据集
train(训练数据集) 蚂蚁(label)、蜜蜂
val(验证数据集)
from 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(self.root_dir,self.label_dir)
self.img_path = os.listdir(self.path)
def __getitem__(self,idx):
img_name = self.img_path(idx)
img_item_path = os.patn.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)
root_dir = "dataset/train"(相对路径)
ants_label_dir = "ants"
ants_dataset = MyData(root_dir,ants_label_dir)
train_dataset = ants_dataset + bees_dataset
4、Tensorboard的使用
探索模型不同阶段是如何输出的
from torch.utils.tensorboard import SummaryWriter
import numpy as np
from PIL import Image
writer = SummaryWriter("logs")
image_path = "data/train/ants_image/0013035.jpg"
img_PIL = Image.open(image_path)
img_array = np.array(img_PIL)
writer.add_image("test",img_array,1,dataformats='HWC')
for i in range(100):
writer.add_scalar("y=2x",2*i,i)
writer.close
环境下的命令行执行
tensorboard --logdir=logs
tensorboard --logdir=logs --port=6007
5、torchvision中的transforms
transforms的结构及用法
transforms.py工具箱(totensor、resize数据类型)
1、transforms该如何使用
2、为什么需要Tensor数据类型
from torchvision import transforms
from PIL import Image
from torch.utils.tensorboard import SummaryWriter
import cv2
img_path = "dataset/train/ants_image/0013035.jpg"(相对路径)
img = Image.open(img_path)
print(img)
writer = SummaryWriter("logs")
1、transforms该如何使用
tensor_trans = transforms.ToTensor()
tensor_img = tensor_trans(img)
writer.add_image("Tensor_img",tensor_img)
write.close()
cv_img = cv2.imread(img_path)
print(tensor_img)
print(cv_img )