摘要: import torch.nn as nn import torch.nn.functional as F class Net(nn.Module): def __init__(self): super(Net, self).__init__() self.conv1 = nn.Conv2d(3, 阅读全文
posted @ 2022-02-14 23:02 xjspyx 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 为面部数据集创建一个数据集类。我们将在 __init__中读取csv的文件内容,在 __getitem__中读取图片。这么做是为了节省内存 空间。只有在需要用到图片的时候才读取它而不是一开始就把图片全部存进内存里。 我们的数据样本将按这样一个字典{'image': image, 'landmarks 阅读全文
posted @ 2022-02-14 23:02 xjspyx 阅读(47) 评论(0) 推荐(0) 编辑
摘要: import torch.optim as optim criterion = nn.CrossEntropyLoss() optimizer = optim.SGD(net.parameters(), lr=0.001, momentum=0.9) 阅读全文
posted @ 2022-02-14 22:56 xjspyx 阅读(50) 评论(0) 推荐(0) 编辑
摘要: def show_landmarks(image, landmarks): """显示带有地标的图片""" plt.imshow(image) plt.scatter(landmarks[:, 0], landmarks[:, 1], s=10, marker='.', c='r') plt.pau 阅读全文
posted @ 2022-02-14 22:56 xjspyx 阅读(19) 评论(0) 推荐(0) 编辑
摘要: import urllib.request myURL1 = urllib.request.urlopen("https://www.runoob.com/") print(myURL1.getcode()) # 200 try: myURL2 = urllib.request.urlopen("h 阅读全文
posted @ 2022-02-14 22:45 xjspyx 阅读(143) 评论(0) 推荐(0) 编辑
摘要: from urllib.request import urlopenmyURL = urlopen("https://www.runoob.com/")f = open("runoob_urllib_test.html", "wb")content = myURL.read() # 读取网页内容f. 阅读全文
posted @ 2022-02-14 22:45 xjspyx 阅读(66) 评论(0) 推荐(0) 编辑
摘要: import urllib.requestimport urllib.errormyURL1 = urllib.request.urlopen("https://www.runoob.com/")print(myURL1.getcode()) # 200try: myURL2 = urllib.re 阅读全文
posted @ 2022-02-14 22:45 xjspyx 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 实例化这个类并遍历数据样本。我们将会打印出前四个例子的尺寸并展示标注的特征点。 代码如下图所示: face_dataset = FaceLandmarksDataset(csv_file='data/faces/face_landmarks.csv', root_dir='data/faces/') 阅读全文
posted @ 2022-02-14 22:09 xjspyx 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 我们会把它们写成可调用的类的形式而不是简单的函数,这样就不需要每次调用时传递一遍参数。我们只需要实现__call__方法,必 要的时候实现 __init__方法。我们可以这样调用这些转换: tsfm = Transform(params) transformed_sample = tsfm(samp 阅读全文
posted @ 2022-02-14 22:09 xjspyx 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 我们想要把图像的短边调整为256,然后随机裁剪(randomcrop)为224大小的正方形。也就是说,我们打算组合一个Rescale和 RandomCrop的变换。 我们可以调用一个简单的类 torchvision.transforms.Compose来实现这一操作。具体实现如下图: scale = 阅读全文
posted @ 2022-02-14 22:09 xjspyx 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 我们可以像之前那样使用for i in range循环来对所有创建的数据集执行同样的操作。 transformed_dataset = FaceLandmarksDataset(csv_file='data/faces/face_landmarks.csv', root_dir='data/face 阅读全文
posted @ 2022-02-14 21:35 xjspyx 阅读(59) 评论(0) 推荐(0) 编辑
摘要: collate_fn, 可以通过它来决定如何对数据进行批处理。但是绝大多数情况下默认值就能运行良好。 dataloader = DataLoader(transformed_dataset, batch_size=4, shuffle=True, num_workers=4) # 辅助功能:显示批次 阅读全文
posted @ 2022-02-14 21:35 xjspyx 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 构造和使用数据集类(datasets),转换(transforms)和数据加载器(dataloader)。torchvision包提供了 常用的数据集类(datasets)和转换(transforms)。你可能不需要自己构造这些类。torchvision中还有一个更常用的数据集类ImageFolde 阅读全文
posted @ 2022-02-14 21:35 xjspyx 阅读(38) 评论(0) 推荐(0) 编辑