import xarray as xr
import numpy as np
from torch.utils.data import Dataset, DataLoader
import torch
import torch.nn as nn
import torch.optim as optim
from scipy import ndimage
import matplotlib.pyplot as plt
#超参数
ROOT_DIR='你的训练数据路径'
LEANING_RATE=1e-4#就是1*10的-4次
DEVICE=torch.device('cuda' if torch.cuda.is_available() else 'cpu')
BATCH_SIZE=16
SHUFFLE=False
NUM_WORKERS=0
EPOCHS=1000
#加载数据集
class PPTDataset(Dataset):
def __init__(self,root_dir,train=True):
self.train_list=[2010,2011,2012,2013,2014,2015]
self.test_list=[2016]
self.root_dir=root_dir
if train:
self.arr=np.zeros(len(self.train_list)*365, 301, 620)#self.arr是一个类的实例变量,它表示该类的一个数组属性。通过它,可在类的方法中访问和操作数组。在类的构造函数中,可初始化self.arr,以便在创建类的实例时,该数组已经存在并可以使用。在类的其他方法中,可用self.arr来修改,添加或查询等数组中的元素。
for idx,year in enumerate(self.train_list):
data=xr.open_dataset(f'{
root_dir}\\imerg_ppt_10km2_{
year}.nc')['ppt'].values[:365]
data[np.isnan(data)] = 0
self.arr
基于nc格式的气象数据集,使用Pytorch框架实现SRCNN
最新推荐文章于 2024-07-02 19:05:24 发布