import torch
import torch.nn as nn
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import torch.nn.functional as F
import torchvision
import time
import os
import shutil
from torchvision import datasets,transforms
from torch.utils.data import TensorDataset
from torch.utils.data import DataLoader
from sklearn.model_selection import train_test_split
start=time.time()
base_dir = r'D:/pycharmworkspace/ISLR-master/fourweather'
#如果base_dir不是文件目录
if not os.path.isdir(base_dir):
#就创建base_dir这个目录
os.mkdir(base_dir)
#在base_dir目录基础上再建train目录,下同
train_dir = os.path.join(base_dir,'train')
test_dir = os.path.join(base_dir, 'test')
os.mkdir(train_dir)
os.mkdir(test_dir)
specises=['cloudy','rain','shine','sunrise']
#继续循环创建目录
for train_or_test in ['train','test']:
for spc in specises:
exist = os.path.join(base_dir,train_or_test,spc)
if not os.path.isdir(exist):
os.mkdir(os.path.join(base_dir,train_or_test,spc))
#图片原始存放目录
image_dir = r'D:/pycharmworkspace/ISLR-master/4w'
#os.listdir(image_dir)会把图片列举出来
#利用enumerate则i为0 img为第一张图片,i为1 img为第二张图片
for i,img in enumerate(os.listdir(image_dir)):
for spec in specises:
#字符串判断
if spec in img:
s = os.path.join(image_dir,img)
#4/5数据分到train目录
if i%5 == 0:
d = os.path.join(base_dir,'test',spec,img)
#1/5数据分到test目录
else:
d = os.path.join(base_dir, 'train',spec,img)
#将数据从s路径拷贝到d路径
shutil.copy(s,d)
#分割线----------------------以上是数据移动的内容---------------------------
#将所有变换都以列表形式放在Compose里面
transformation =
基于pytorch的四种天气分类含Dropout层和BN层
最新推荐文章于 2023-08-01 09:54:48 发布