查互做蛋白的网站,diy图片制作,什么是网络营销?网络营销的常用方法有哪些?,html5模板本文主要讲解python文件中怎么调用另外一个py文件中定义的类#xff0c;将通过代码和示例解读#xff0c;帮助大家理解和使用。 目录 代码B.pyA.py 调用过程 代码
B.py
如在文件B.py,定义了类别Bottleneck#xff0c;其包含卷积层、正则化和激活函数层#xff0c;主要对…本文主要讲解python文件中怎么调用另外一个py文件中定义的类将通过代码和示例解读帮助大家理解和使用。 目录 代码B.pyA.py 调用过程 代码
B.py
如在文件B.py,定义了类别Bottleneck其包含卷积层、正则化和激活函数层主要对输入图像进行处理。但没有读取图像等代码。 from torch import nndef autopad(k, pNone, d1): # kernel, padding, dilation# Pad to same shape outputsif d 1:k d * (k - 1) 1 if isinstance(k, int) else [d * (x - 1) 1 for x in k] # actual kernel-sizeif p is None:p k // 2 if isinstance(k, int) else [x // 2 for x in k] # auto-padreturn pclass Conv(nn.Module):# Standard convolution with args(ch_in, ch_out, kernel, stride, padding, groups, dilation, activation)default_act nn.SiLU() # default activationdef __init__(self, c1, c2, k3, s2, pNone, g1, d1, actTrue):super().__init__()self.conv nn.Conv2d(c1, c2, k, s, autopad(k, p, d), groupsg, dilationd, biasFalse)self.bn nn.BatchNorm2d(c2)self.act self.default_act if act is True else act if isinstance(act, nn.Module) else nn.Identity()def forward(self, x):return self.act(self.bn(self.conv(x)))def forward_fuse(self, x):return self.act(self.conv(x))class Bottleneck(nn.Module):# Standard bottleneckdef __init__(self, c1, c2, shortcutTrue, g1, e0.5): # ch_in, ch_out, shortcut, groups, expansionsuper().__init__()c_ int(c2 * e) # hidden channelsself.cv1 Conv(c1, c_, 1, 1)self.cv2 Conv(c_, c2, 3, 2, gg)self.add shortcut and c1 c2def forward(self, x):return x self.cv2(self.cv1(x)) if self.add else self.cv2(self.cv1(x))
A.py
文件A.py在此部分加载一幅图像并对其进行卷积处理。在代码中没有卷积等层的定义通过调用B.py中定义的类进行。
import B
from PIL import Image
from torchvision import transforms
import math
if __name__ __main__:image Image.open(../11111.jpg)transform transforms.Compose([transforms.ToTensor()])# 对图像应用转换操作input_image transform(image)input_image input_image.unsqueeze(0)CBRB.Bottleneck(3,64)xCBR(input_image )print(x.shape)把上面代码保存到自己本地再把图像路径换成的图像路径运行得到打印机结果为 调用过程
在上面A.py的代码中先通过import B导入B.py文件之后通过CBRB.Bottleneck(3,64)关联和初始化定义的Bottleneck。最后使用xCBR(input_image )进行使用即可。
注意本文中用的示例是A.py和B.py在同一文件夹中如不在同一文件夹需要添加路径。