コード例 #1
0
ファイル: trainprocess.py プロジェクト: jmjkx/lzy
# 检查cuda是否可用

# 生成log
now_time = datetime.now()
time_str = datetime.strftime(now_time, '%m-%d_%H-%M-%S')
log_path = os.path.join(os.getcwd(), "log")
log_dir = os.path.join(log_path, time_str)
if not os.path.exists(log_dir):
    os.makedirs(log_dir)
writer = SummaryWriter(log_dir)

# ---------------------搭建网络--------------------------
cnn = Net()  # 创建CNN, 输入全连接层维数
print("Total number of paramerters in networks is {}  ".format(sum(x.numel() for x in cnn.parameters())))
cnn = cnn.double()

# --------------------设置损失函数和优化器----------------------
optimizer = optim.Adam(cnn.parameters(), lr=0.001)  # lr:(de fault: 1e-3)优化器
criterion = nn.CrossEntropyLoss()  # 损失函数
scheduler = torch.optim.lr_scheduler.StepLR(
    optimizer, step_size=EPOCH / 2, gamma=0.5)  # 设置学习率下降策略

# --------------------训练------------------------------
# 使用GPU
cnn = cnn.cuda()
print('=========STAGE1==============')
for epoch in range(1):
    loss_sigma = 0.0  # 记录一个epoch的loss之和
    correct = 0.0
    total = 0.0