1. 讓張量使用variable
型別,如下所示
1from torch.autograd import
variable
23 inp = torch.zeros(2, 3)
4 inp =variable(inp).type(torch.longtensor)
5print(inp)
variable型別包裝了tensor型別,並提供了backward()介面
使用variable型別
的好處是,可以按照**公式來直接使用,並在做張量運算之後,使用繼承的backward()直接進行反向傳播
2.自定義類繼承nn.module
1class
custommseloss(nn.module):
2def
__init__
(self):
3 super().__init__()4
5def
forward(self, x, y):
6return torch.mean(torch.pow((x - y), 2))
這種方法結構化程度高,在開發給使用者使用時,由於不知道使用者的tensor是否是variable型別,採用該方法可以減少問題。
Pytorch自定義引數
如果想要靈活地使用模型,可能需要自定義引數,比如 class net nn.module def init self super net,self init self.a torch.randn 2 3 requires grad true self.b nn.linear 2,2 defforwa...
PyTorch 自定義層
與使用module類構造模型類似。下面的centeredlayer類通過繼承module類自定義了乙個將輸入減掉均值後輸出的層,並將層的計算定義在了forward函式裡。這個層裡不含模型引數。class mydense nn.module def init self super mydense,se...
自定義實現strcmp,atoi,itoa函式
1.mystrcmp函式,字串比較 abc x abc abc ab aa 第乙個大於第二個則返回正數,相等返回0,第乙個小於第二個返回負數。include include intmystrcmp const char str1,const char str2 int tmp 0 while tmp...