select * from t_s inner join t_r on tr.id=t_s.no;
2.#定義圖像轉(zhuǎn)換操作? 。。。
#transforms.ToTensor()基于torchvision庫的ImageFolder提取圖片路徑
forlder = datasets.ImageFolder(root='c:/train/fruit',transform=transform)
#計(jì)算總樣本數(shù)n,訓(xùn)練集樣本數(shù)n1和測試集樣本數(shù)n2,0.8根據(jù)需要修正
n=len(folder)
n1=int(n*0.8)
n2=n-n1
#基于torch工具包的random_split函數(shù)進(jìn)行數(shù)據(jù)集的劃分
train,test = random_split(folder,[n1,n2]])
/loss=criterion(outputs,labels)#求解梯度
loss.backward()
optimizer.zero_grad()
#更新模型參數(shù)
optimizer.step()
#計(jì)算正確率指標(biāo)
_,predicted = torch.max(outputs.data,1)
total+=labels.size(0)
correct +=(predicted == labels).sum().item()
#計(jì)算loss值
running_loss+=loss.item()
/#打印loss值和正確率指標(biāo)
epoch_loss = running_loss/len(train_loader)
epoch_acc = 100*correct/total
print(f'Epoch {epoch+1}/{num_epochs},Loss:{epoch_loss:.4f},Accuracy:{epoch_acc:.2f}%')
#清空指標(biāo)數(shù)據(jù)
running_loss=0.0
correct=0
total=0
#保存模型
torch.save(model.state_dict(),'2-2model_test.pth')
3.定義房價(jià)評(píng)估的神經(jīng)網(wǎng)絡(luò)模型
super(HousePr.....)
#第一層
self.fc1 = nn.Linear(input_size,128)
self.bn1 = nn.BatchNormId(128)? ld?
self.relu = nn.ReLu()
#第二層
self.fc2 = nn.Linear(128,256)
self.bn2 = nn.BatchNormId(256)
self.relu = nn.ReLu()
#第三層
self.fc3 = nn.Linear(256,1)