301 次浏览
要定义一个简单的卷积神经网络 (CNN),我们可以使用以下步骤:步骤首先,我们导入重要的库和包。我们尝试在 PyTorch 中实现一个简单的 CNN。在以下所有示例中,所需的 Python 库是 torch。确保您已安装它。import torch import torch.nn as nn import torch.nn.functional as F我们的下一步是构建一个简单的 CNN 模型。在这里,我们使用 nn 包来实现我们的模型。为此,我们定义一个类 MyNet 并将 nn.Module 作为参数传递。class MyNet(nn.Module):我们需要在类中创建两个函数来… 阅读更多
468 次浏览
要定义一个简单的人工神经网络 (ANN),我们可以使用以下步骤:步骤首先,我们导入重要的库和包。我们尝试在 PyTorch 中实现一个简单的 ANN。在以下所有示例中,所需的 Python 库是 torch。确保您已安装它。import torch import torch.nn as nn我们的下一步是构建一个简单的 ANN 模型。在这里,我们使用 nn 包来实现我们的模型。为此,我们定义一个类 MyNetwork 并将 nn.Module 作为参数传递。class MyNetwork(nn.Module):我们需要在类中创建两个函数来使我们的模型准备就绪… 阅读更多
725 次浏览
Pytorch 中有很多与计算机视觉任务相关的数据集。torch.utils.data.Dataset 提供不同类型的数据集。torchvision.datasets 是 torch.utils.data.Dataset 的一个子类,并且有许多与图像和视频相关的数据集。PyTorch 还为我们提供了一个 torch.utils.data.DataLoader,它用于从数据集中加载多个样本。步骤我们可以使用以下步骤来加载计算机视觉数据集:导入所需的库。在以下所有示例中,所需的 Python 库是 torch、Matplotlib 和 torchvision。确保您已安装它们。import torch import torchvision from torchvision import datasets from torchvision.transforms import ToTensor import matplotlib.pyplot as … 阅读更多
1K+ 次浏览
我们应用 BCELoss() 方法来计算输入和目标(预测和实际)概率之间的二元交叉熵损失。BCELoss() 可从 torch.nn 模块访问。它创建一个度量二元交叉熵损失的标准。它是 torch.nn 模块提供的损失函数的一种类型。损失函数用于通过最小化损失来优化深度神经网络。输入和目标都应该是具有类概率的 torch 张量。确保目标介于 0 和 1 之间。输入和目标张量都可以具有任意数量的维度。… 阅读更多
910 次浏览
将输入张量的一些随机元素设为零已被证明是在神经网络训练期间进行正则化的有效技术。为了完成此任务,我们可以应用 torch.nn.Dropout()。它将输入张量的一些元素归零。元素将以给定的概率 p 归零。它使用伯努利分布来获取元素被归零的样本。它不支持复数值输入。语法torch.nn.Dropout(p=0.5)元素归零的默认概率设置为 0.5步骤我们可以使用以下步骤来随机归零输入的一些元素… 阅读更多
2K+ 次浏览
我们可以重新缩放 n 维输入张量,使其元素位于 [0, 1] 范围内且总和为 1。为此,我们可以应用 Softmax() 函数。我们可以沿特定维度重新缩放 n 维输入张量。输出张量的尺寸与输入张量相同。语法torch.nn.Softmax(dim)参数dim – 计算 Softmax 的维度。步骤我们可以使用以下步骤来在给定大小的随机位置裁剪图像:导入所需的库。在以下所有示例中,所需的 Python 库是 torch。确保您已安装它。import … 阅读更多
3K+ 次浏览
要在输入张量上逐元素应用修正线性单元 (ReLU) 函数,我们使用 torch.nn.ReLU()。它将输入张量中的所有负元素替换为 0(零),所有非负元素保持不变。它只支持实值输入张量。ReLU 用作神经网络中的激活函数。语法relu = torch.nn.ReLU() output = relu(input)步骤您可以使用以下步骤逐元素应用修正线性单元 (ReLU) 函数:导入所需的库。在以下所有示例中,所需的 Python 库是 torch。确保您已安装它。import torch import torch.nn as nn定义输入张量… 阅读更多
我们可以使用 torch.nn.AvgPool2d() 模块对由多个输入平面组成的输入图像应用二维平均池化。二维平均池化层的输入必须为 [N, C, H, W] 大小,其中 N 是批量大小,C 是通道数,H 和 W 是输入图像的高度和宽度。平均池化操作的主要特征是过滤器或内核大小和步幅。此模块支持 TensorFloat32。语法torch.nn.AvgPool2d(kernel_size)参数kernel_size – 平均值的窗口大小。除了此参数之外,还有一些可选参数… 阅读更多
463 次浏览
torch.nn.ConstantPad2D() 用常数值填充输入张量的边界。输入张量的大小必须为 3D 或 4D,分别为 (C, H, W) 或 (N, C, H, W) 格式。其中 N、C、H、W 分别表示小批量大小、通道数、高度和宽度。填充沿输入张量的高度和宽度进行。它以填充大小 (padding) 和常数值 (value) 作为参数。填充大小可以是整数或元组。填充对于所有边界可以相同,也可以对于每个边界不同… 阅读更多
torch.nn.ZeroPad2D() 用零填充输入张量的边界。它以填充大小 (padding) 作为参数。填充大小可以是整数或元组。填充对于所有边界可以相同,也可以对于每个边界不同。填充可以是 (left, right, top, bottom) 格式的整数或元组。如果它是整数,则所有边界的填充相同。填充张量的高度增加 top+bottom,而填充张量的宽度增加 left+right。它不会改变通道… 阅读更多