CovaMNet_Train_5way1shot.py 程序分块儿解读
import 部分
基本import
import argparse
import os
import random
import shutil
import numpy as np
import torch
import torch.nn as nn
import torch.nn.parallel
import torch.backends.cudnn as cudnn
import torch.optim as optim
import torch.utils.data
import torchvision.datasets as dset
import torchvision.transforms as transforms
import torchvision.utils as vutils
from torch.autograd import grad
import time
from torch import autograd
from PIL import ImageFile
import scipy as sp
import scipy.stats
import sys
sys.dont_write_bytecode = True
自己编写的两部分
- dataset文件下的datasets_csv.py
- models文件下的network.py
(1) from dataset.datasets_csv import Imagefolder_csv
(2)import models.network as CovaNet
Linux参数设置
ImageFile.LOAD_TRUNCATED_IMAGES = True
os.environ['CUDA_DEVICE_ORDER']='PCI_BUS_ID'
os.environ['CUDA_VISIBLE_DEVICES']='0'
parser = argparse.ArgumentParser()
parser.add_argument('--dataset_dir', default='/Datasets/miniImageNet--ravi', help='the path of the data')
parser.add_argument('--data_name', default='miniImageNet', help='miniImageNet|StanfordDog|StanfordCar|CubBird')
parser.add_argument('--mode', default='test', help='train|val|test')
parser.add_argument('--outf', default='./results/CovaMNet')
parser.add_argument('--resume', default='', type=str, help='path to the lastest checkpoint (default: none)')
parser.add_argument('--basemodel', default='Conv64', help='Conv64')
parser.add_argument('--workers', type=int, default=8)
# Few-shot parameters #
parser.add_argument('--imageSize', type=int, default=84)
parser.add_argument('--episodeSize', type=int, default=1, help='the mini-batch size of training')
parser.add_argument('--testepisodeSize', type=int, default=1, help='one episode is taken as a mini-batch')
parser.add_argument('--epochs', type=int, default=30, help='the total number of training epoch')
parser.add_argument('--episode_train_num', type=int, default=10000, help='the total number of training episodes')
parser.add_argument('--episode_val_num', type=int, default=1000, help='the total number of evaluation episodes')
parser.add_argument('--episode_test_num', type=int, default=600, help='the total number of testing episodes')
parser.add_argument('--way_num', type=int, default=5, help='the number of way/class')
parser.add_argument(<

本文详细解读了CovaMNet_Train_5way1shot.py的各个部分,从基本import到Linux参数设置,再到模型定义和训练过程。重点介绍了AverageMeter类、学习率调整、训练和验证函数,以及模型保存和计算精度的函数。同时,阐述了数据加载和训练结束时的评估输出。
最低0.47元/天 解锁文章
2929

被折叠的 条评论
为什么被折叠?



