class myDataset(Dataset):
def __init__(self, csv_file, txt_file, root_dir, other_file):
self.csv_data = pd.read_csv(csv_file) ##self指调用类中的参数
with open(txt_file, 'r') as f:
data_list = f.readlines()
self.txt_data = data_list
self.root_dir = root_dir
def __len__(self):
return len(self.csv_data)
def __getitem__(self, idx):
data = (self.csv_data[idx], self.txt_data[idx])
return data
## 如果在类中定义了__getitem__()方法,那么他的实例对象(假设为P)就可以这样P[key]取值。当实例对象做P[key]运算时,就会调用类中的__getitem__()方法。
dataiter = DataLoader(myDataset, batch_size=32, shuffle=True)
1. import os.path 或 import os.path as op
- 常用路径操作、进程管理、环境参数等几类
- 路径操作:os.path子库,处理文件路径及信息
- 进程管理:启动系统中其他程序
- 环境参数:获得系统软件硬件信息等环境参数
二、tansform使用
transform.totensor
transform.compose[]
1. _call_的使用
call方法的功能类似于在类中重载 () 运算符,使得类实例对象可以像调用普通函数那样,以“对象名()”的形式使用。 即把一个类的实例化对象变成了可调用对象,
把类实例Person--为可调用函数P()
nn.Module里继承的forward方法是call函数调用的
三. nn_Module
Tensor
(tensor([[0.1000, 1.2000],
[2.2000, 3.1000],
[4.9000, 5.2000]]), torch.Size([3, 2])) ##连着几个[就是几维张量,示例为二维3x2的张量