Exemplo n.º 1
0
    print("GPUは使えません。")
if cuda:
    gpu_id = input('使用するGPUの番号を入れてください : ')
    os.environ["CUDA_VISIBLE_DEVICES"] = gpu_id
device = torch.device('cuda:' + gpu_id if cuda else 'cpu')

# 推定モデルの決定
p = 7

os.makedirs("output-images/p{0}".format(p), exist_ok=True)
os.makedirs("parameters/p{0}".format(p), exist_ok=True)

torch.manual_seed(opt.generator_seed)
generator = models.LinearGenerator(p=p, input_dim=1, is_bias=False)
torch.manual_seed(opt.predictor_seed)
predictor = models.LinearPredictNet(p=p, input_dim=1, is_bias=True)

# 訓練データを一つ用いて学習させる
dataSeed = opt.data_seed
# こいつをtrain:validation=900:100に分割する
Data = trainDataSets[dataSeed]
Data = torch.tensor(Data, dtype=torch.float)
Data = Data.view(1, -1)
trainData = Data[:, :900]
valData = Data[:, 900:]
# trainDataとvalDataを {𝑋𝑡}𝑡0𝑡=𝑡0−𝑝 ごとに取り出しやすいようにMatrixに変換する
trainMatrix = []
for i in range(trainData.shape[1] - (p)):
    ans = trainData[:, i:i + p + 1].view(1, Data.shape[0], -1)
    trainMatrix.append(ans)
trainMatrix = torch.cat(trainMatrix)
Exemplo n.º 2
0
testData = Data[:, 1200:]

trainMatrix = []
for i in range(trainData.shape[1] - (p + 1)):
    ans = trainData[:, i:i + p + 1].view(1, Data.shape[0], -1)
    trainMatrix.append(ans)
trainMatrix = torch.cat(trainMatrix)

valMatrix = []
for i in range(valData.shape[1] - (p + 1)):
    ans = valData[:, i:i + p + 1].view(1, Data.shape[0], -1)
    valMatrix.append(ans)
valMatrix = torch.cat(valMatrix)

torch.manual_seed(opt.network_seed)
net = models.LinearPredictNet(p=p, input_dim=1, is_bias=opt.network_bias)

# gpuが使えるかどうか
cuda = True if torch.cuda.is_available() else False
if cuda:
    print("GPUが使えます。")
    use_gpu = input('GPUを使いますか? (Yes:1, No:0)  ----> ')
    cuda = bool(int(use_gpu))
else:
    print("GPUは使えません。")

if cuda:
    gpu_id = input('使用するGPUの番号を入れてください : ')
    os.environ["CUDA_VISIBLE_DEVICES"] = gpu_id
device = torch.device('cuda:' + gpu_id if cuda else 'cpu')