pytorch에서 컨볼 루션 신경망을 훈련 중이며 훈련 된 이미지를 저장하고 싶습니다. 훈련 된 각 이미지를 데이터 로더 루프에 추가하여 훈련 된 모든 이미지를 numpy 파일 (아래 코드의 train_pred)에 저장하고 제대로 작동합니다. 그러나 네트워크에 큰 부담이되고 실행 시간이 늘어납니다. 이 작업을 수행하는 다른 방법이 있습니까?
for epoch in range(epochs):
mse_train_losses= []
N_train = []
train_pred=[]
model.train()
for data in train_loader:
x_train_batch, y_train_batch = data[0].to(device,
dtype=torch.float), data[1].to(device, dtype=torch.float)
y_train_pred = model(x_train_batch)
mse_train_loss = criterion(y_train_batch, y_train_pred, x_train_batch, mse)
optimizer.zero_grad()
mse_train_loss.backward()
optimizer.step()
mse_train_losses.append(mse_train_loss.item())
N_train.append(len(x_train_batch))
train_pred.append(y_train_pred)
train_pred_de=torch.stack(train_pred).cpu().detach().numpy()
train_pred를 분리하기 위해 train_loader 루프에서 가장 많은 메모리를 사용합니다. 루프에서 분리 할 필요가 없습니다. 저장 한 다음 다른 곳에서 분리 할 수 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다