Rumah > Artikel > pembangunan bahagian belakang > Definisi parameter kelas Python dan kaedah pengembangan data nyah picit/kembang
[Cadangan berkaitan: Tutorial video Python3]
Tetapkan persekitaran conda kepada ai , conda activate ai
Asal usul fail ini:
Oleh kerana dalam fungsi kehilangan yang dilaksanakan oleh pytorch yolov1, kita melihat bahawa nn.Module diwarisi, dan dua daripada mereka Parameter bukan jenis yang dinyatakan dalam c, jadi dari manakah jenisnya berasal
Di sini kita meneroka perkara sedemikian
Logik operasi:
N = box1.size(0) M = box2.size(0)
dipanggil di sini untuk menunjukkan bahawa ia adalah sesuatu seperti matriks, dan takrifan kotak1 yang sepadan ialah `rand (10,4)import torch import torch.nn as nn import torch.nn.functional as F from torch.autograd import Variable #探究属性S,B是如何产生的,以及box1、box2是如何产生的、如何调用 class yoloLoss(nn.Module): def __init__(self,S,B): self.S=S self.B=B def compute_iot(self,box1,box2): N = box1.size(0) #调用方式就表示了变量是什么类型,这里是一个张量,其中每个元素是一个tensor,所以是N*4的张量 M = box2.size(0) print(M,N) yoloLoss1 =yoloLoss(10, 11) yoloLoss1.compute_iot(torch.rand(10,4),torch.rand(11,4))
Terokai penggunaan unsqueeze dan kembangkan, unsqueeze You boleh menambah latitud, tetapi saiz dimensi hanya 1, dan mengembangkan boleh menyalin data dan menukar data kepada n
# 获得一开始的初始化数值:tensor([[a1,a2,a3]]) nn1=torch.rand(1,3) print(nn1) # unsqueeze是解压的意思,在第i个维度上进行扩展,将其扩展为tensor([[[a1,a2,a3]]]) nn1=nn1.unsqueeze(0) print("*"*100) print(nn1) #利用expand对数据进行扩展 nn1=nn1.expand(1,3,3) print("*"*100) print(nn1)
[Cadangan berkaitan: Tutorial video Python3 ]
Atas ialah kandungan terperinci Definisi parameter kelas Python dan kaedah pengembangan data nyah picit/kembang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!