小工具知识网

当前位置: 首页 > 行业知识 > deeplearning with pytorch (五)

行业知识

deeplearning with pytorch (五)

2026-11-13 16:59:34 来源:互联网转载

.view()���法在PyTorch中用于重塑张量。这里它被用来将单个样本的张量重塑成模型所期望的输入形状。具体地,1,1,28,28意味着创建一个新的张量,其中:

()
  • 第一个1代表批次大小(batch size),这里为1,因为你只预测一个样本。
  • 第二个1可能代表颜色通道的数量,这在处理灰度图像时常见,意味着每个像素只有一个颜色值。对于RGB图像,这个数字会是3。
  • 28,28代表图像的高度和宽度,这是典型的MNIST手写数字数据集的维度。
    #graph the loss at epochtrain_losses = [tl.item() for tl in train_losses]plt.plot(train_losses, label= "training loss")plt.plot(test_losses, label="validation loss")plt.title("loss at epoch")plt.legend()#graph the accuracy at the end of each epochplt.plot([t/600 for t in train_correct], label = "training accuracy")plt.plot([t/100 for t in test_correct], label = "validation accuracy")plt.title("accuracy at the end of each epoch")plt.legend()test_load_everything = DataLoader(test_data, batch_size= 10000, shuffle= False)with torch.no_grad():    correct = 0    for X_test, y_test in test_load_everything:        y_val = model(X_test)        predicted = torch.max(y_val, 1)[1]        correct += (predicted == y_test).sum()# did for correct correct.item()/len(test_data) * 100## Send New Image Thru The Model# grab an imagetest_data[4143] #tensor with an image in it ... at end ,it shows the label# grab just the data test_data[4143][0]#reshape it test_data[4143][0].reshape(28,28)# show the image plt.imshow(test_data[4143][0].reshape(28,28))# pass the image thru our modelmodel.eval()with torch.no_grad():    new_prediction = model(test_data[4143][0].view(1,1,28,28)) #batch size of 1,1 color channel, 28x28 image    # check the new prediction, get probabilitiesnew_predictionnew_prediction.argmax()

    完整的py文件见GitHub - daichang01/neraual_network_learning at dev

    ()

上一篇:基于web的汽车销售系统的设计与实现

下一篇:华三c服务器怎么拆开?