python pytorch自定义_PyTorch使用自定义模块创建数据模型
還有另一種查找預測的方法。在上一節中, 我們使用forward()和實現線性模型來找到預測。此方法非常有效且可靠。很容易理解和實施。
在”定制模塊”中, 我們使用類創建一個定制模塊, 它是init()和forward()方法和模型。 init()方法用于初始化類的新實例。在此init()方法中, 第一個參數是self, 它指示該類的實例(該對象尚未初始化), 而在其自身之后, 我們可以添加其他參數。
下一個參數是初始化線性模型的實例。在上一節中, 初始化線性模型需要輸入大小以及輸出大小等于1, 但是在自定義模塊中, 我們傳遞輸入大小和輸出大小變量而不傳遞其默認值。
在這種情況下, 需要導入割炬的nn包。在此, 我們使用繼承, 以便此子類將利用我們的基類和模塊中的代碼。
模塊本身通常將充當所有神經網絡模塊的基類。之后, 我們創建一個模型以進行預測。
讓我們看一個示例, 該示例如何通過創建自定義模塊來完成預測:
對于單個數據
import torch
import torch.nn as nn
class LinearRegression(nn.Module):
def __init__(self, input_size, output_size):
super().__init__()
self.linear=nn.Linear(input_size, output_size)
def forward(self, x):
pred=self.linear(x)
return pred
torch.manual_seed(1)
model=LinearRegression(1, 1)
x=torch.tensor([1.0])
print(model.forward(x))
輸出
tensor([0.0739], grad_fn=)
對于多個數據
import torch
import torch.nn as nn
class LinearRegression(nn.Module):
def __init__(self, input_size, output_size):
super().__init__()
self.linear=nn.Linear(input_size, output_size)
def forward(self, x):
pred=self.linear(x)
return pred
torch.manual_seed(1)
model=LinearRegression(1, 1)
x=torch.tensor([[1.0], [2.0], [3.0]])
print(model.forward(x))
輸出
tensor([[0.0739], [0.5891], [1.1044]], grad_fn=)
總結
以上是生活随笔為你收集整理的python pytorch自定义_PyTorch使用自定义模块创建数据模型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: lvm 扩展根目录_Linux下lvm在
- 下一篇: 实验室装水的容器叫什么_@实验员丨实验室