第四次作业:猫狗大战挑战赛
前言
这两周工作一直比较忙,未有充足时间来深入学习,加之上一节课又在外地出差导致课程未上,所以此次作业属于参考老师代码和别人代码摸索完成,并未来得及进行深入的研究,等后续时间充足了再好好看一下。
步骤
这部门内容大部分都属于老师代码的复制粘贴,主要以理解代码为主,自己也不晓得怎么做过多优化,姑且贴在下面,等回头再细细研究。
首先是导入所需要的依赖项,并判断是否存在CPU设备,因为是在colab平台运行的,所以需要在平台上修改-笔记本设置里选择为GPU,不然输出结果为False。
import numpy as np
import matplotlib.pyplot as plt
import os
import torch
import torch.nn as nn
import torchvision
from torchvision import models,transforms,datasets
import time
import json
# 判断是否存在GPU设备
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
print('Using gpu: %s ' % torch.cuda.is_available())
另外为了后续可以使用谷歌的云盘,这里需要进行云盘的连接,连接完之后会在content下产生drive/MyDrive的文件夹,这就是谷歌的云盘。
然后就是解压缩把训练的数据集下载下来。
! wget http://fenggao-image.stor.sinaapp.com/dogscats.zip
! unzip dogscats.zip
后续的代码老师很多都做了说明,就直接贴在这里了。
#数据处理
normalize = transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
vgg_format = transforms.Compose([
transforms.CenterCrop(224),
transforms.ToTensor(),
normalize,
])
data_dir = './dogscats'
dsets = {x: datasets.ImageFolder(os.