vegans.utils 包¶
子包¶
- vegans.utils.loading 包
子模块¶
vegans.utils.layers 模块¶
-
class
vegans.utils.layers.
LayerInception
(in_channels, out_channels)[source]¶ 基类:
torch.nn.modules.module.Module
Inception 层架构的实现。
使用网络中的网络(NIN)架构,使网络更宽更深。
-
forward
(x)[source]¶ 定义了每次调用时执行的计算。
应被所有子类覆盖。
注意
尽管前向传播的逻辑需要在该函数内定义,但之后应该调用
Module
实例而非此函数,因为前者会负责运行已注册的钩子,而后者会默默忽略它们。
-
training
: bool¶
-
-
class
vegans.utils.layers.
LayerPrintSize
[source]¶ 基类:
torch.nn.modules.module.Module
打印层的大小,不执行任何操作。
主要用于调试,以查找网络某个深度处的层形状。
-
forward
(x)[source]¶ 定义了每次调用时执行的计算。
应被所有子类覆盖。
注意
尽管前向传播的逻辑需要在该函数内定义,但之后应该调用
Module
实例而非此函数,因为前者会负责运行已注册的钩子,而后者会默默忽略它们。
-
training
: bool¶
-
-
class
vegans.utils.layers.
LayerReshape
(shape)[source]¶ 基类:
torch.nn.modules.module.Module
重塑(Reshape)张量。
可能用于全连接网络的最后一层,以生成图像输出。
-
forward
(x)[source]¶ 定义了每次调用时执行的计算。
应被所有子类覆盖。
注意
尽管前向传播的逻辑需要在该函数内定义,但之后应该调用
Module
实例而非此函数,因为前者会负责运行已注册的钩子,而后者会默默忽略它们。
-
training
: bool¶
-
-
class
vegans.utils.layers.
LayerResidualConvBlock
(in_channels, out_channels, skip_layers, kernel_size)[source]¶ 基类:
torch.nn.modules.module.Module
Inception 层架构的实现。
使用网络中的网络(NIN)架构,使网络更宽更深。
-
forward
(x)[source]¶ 定义了每次调用时执行的计算。
应被所有子类覆盖。
注意
尽管前向传播的逻辑需要在该函数内定义,但之后应该调用
Module
实例而非此函数,因为前者会负责运行已注册的钩子,而后者会默默忽略它们。
-
training
: bool¶
-
vegans.utils.networks 模块¶
-
class
vegans.utils.networks.
Adversary
(network, input_size, adv_type, device, ngpu, secure=True)[source]¶ 基类:
vegans.utils.networks.NeuralNetwork
实现对抗网络架构。
可以是判别器(输出 [0, 1])或评论家(输出 [-Inf, Inf])。
-
training
: bool¶
-
-
class
vegans.utils.networks.
Autoencoder
(encoder, decoder)[source]¶ 基类:
torch.nn.modules.module.Module
-
forward
(x)[source]¶ 定义了每次调用时执行的计算。
应被所有子类覆盖。
注意
尽管前向传播的逻辑需要在该函数内定义,但之后应该调用
Module
实例而非此函数,因为前者会负责运行已注册的钩子,而后者会默默忽略它们。
-
training
: bool¶
-
-
class
vegans.utils.networks.
Decoder
(network, input_size, device, ngpu, secure=True)[source]¶ 基类:
vegans.utils.networks.NeuralNetwork
-
training
: bool¶
-
-
class
vegans.utils.networks.
Encoder
(network, input_size, device, ngpu, secure=True)[source]¶ 基类:
vegans.utils.networks.NeuralNetwork
-
training
: bool¶
-
-
class
vegans.utils.networks.
Generator
(network, input_size, device, ngpu, secure=True)[source]¶ 基类:
vegans.utils.networks.NeuralNetwork
-
training
: bool¶
-
-
class
vegans.utils.networks.
NeuralNetwork
(network, name, input_size, device, ngpu, secure)[source]¶ 基类:
torch.nn.modules.module.Module
单一网络的基本抽象。
这些网络构成生成对抗网络的基本构建块。主要负责一致性检查。
-
forward
(x)[source]¶ 定义了每次调用时执行的计算。
应被所有子类覆盖。
注意
尽管前向传播的逻辑需要在该函数内定义,但之后应该调用
Module
实例而非此函数,因为前者会负责运行已注册的钩子,而后者会默默忽略它们。
-
training
: bool¶
-
vegans.utils.plot2DModel 模块¶
vegans.utils.torchsummary 模块¶
此模块的所有功劳归于 GitHub 用户 sksq96 (Shubham Chandel) 和 pytorch-summary 包的其他作者。
请在 GitHub 上查看他们的实现:https://github.com/sksq96/pytorch-summary。
不幸的是,该包目前(2021-05-04)已不再开发,且不存在 conda 版本。这将阻止我们创建 conda 分发包。他们的包根据 MIT 许可证发布,因此我们 fork 了他们的代码(2021-05-04)并在本模块中使用。
vegans.utils.utils 模块¶
-
vegans.utils.utils.
concatenate
(tensor1, tensor2)[source]¶ 连接两个 2D 或 4D 张量。
- 参数
tensor1 (torch.Tensor) – 2D 或 4D 张量。
tensor2 (torch.Tensor) – 2D 或 4D 张量。
- 返回
tensor1 和 tensor2 的连接。
- 返回类型
torch.Tensor
- 引发
NotImplementedError – 如果张量不是 2 维或 4 维。
-
vegans.utils.utils.
create_gif
(source_path, target_path=None)[source]¶ 从源路径包含的图像创建 GIF。
- 参数
source_path (string) – 指向包含 .png 文件的源目录的路径。
target_path (string, optional) – 创建的 GIF 的名称。
-
vegans.utils.utils.
get_input_dim
(dim1, dim2)[source]¶ 从两个输入获取输入维度数量。
张量通常需要以不同的方式连接,特别是对于利用标签信息的条件算法。此函数返回两个 2D 张量(两个向量)、两个 4D 张量(两张图像)或一个 2D 张量与另一个 4D 张量(向量与图像)连接后张量的输出维度。对于两个张量,第一个维度是样本数量,此函数不考虑它。因此,dim1 和 dim2 都是 1D 或 3D 张量,表示向量或图像维度(通道数、高度、宽度)。通常情况下,dim1 是潜在的 z 维度(通常是向量)或样本空间中的一个样本(可能是图像)。dim2 通常代表条件 y 维度,它在传递给神经网络之前与噪声或样本连接。
此函数可用于在条件用例中获取生成器、对抗网络、编码器或解码器的输入维度。
- 参数
dim1 (int, iterable) – 输入 1 的维度。
dim2 (int, iterable) – 输入 2 的维度。
- 返回
连接后的输出维度。
- 返回类型
list
-
vegans.utils.utils.
plot_images
(images, labels=None, show=True, n=None)[source]¶ 绘制一些输入图像(可选带标签)
- 参数
images (np.array) – 形状必须是 [nr_samples, height, width] 或 [nr_samples, height, width, 3]。
labels (np.array, optional) – 用于标题的标签数组。
show (bool, optional) – 如果为 True,调用 plt.show 直接显示图像。
n (None, optional) – 要绘制的图像数量,最多 36 张。
- 返回
创建的图和轴对象。
- 返回类型
plt.figure, plt.axis
-
vegans.utils.utils.
plot_losses
(losses, show=True, share=False)[source]¶ 在公共图上绘制生成器和判别器的损失。
- 参数
losses (dict) –
包含某些网络损失的字典。字典的结构为:``` {
mode1: {loss_type1_1: losses1_1, loss_type1_2: losses1_2, …}, mode2: {loss_type2_1: losses2_1, loss_type2_2: losses2_2, …}, …
其中 mode 可能是“Train”或“Test”之一,loss_type 可能是“Generator”、“Adversary”、“Encoder”等,而 losses 是训练期间收集的损失值列表。
show (bool, optional) – 如果为 True,调用 plt.show 直接显示图像。
share (bool, optional) – 如果为 true,则在图之间共享轴刻度。
- 返回
创建的图和轴对象。
- 返回类型
plt.figure, plt.axis