PyTorch 生成式人工智能学习指南(五)

如何用Python打造一个生成式AI驱动的未来应用 生成式AI(Generative AI)作为人工智能的重要分支,正在塑造未来技术的格局。它不仅可以生成高质量的图像、文本和音频,还能模拟复杂的系统和环境,为各行业带来创新的解决方案。Python,以其简洁的语法和强大的生态系统,成为开发生成式AI应用的首选语言。本文将详细介绍如何用Python打造一个生成式AI驱动的未来应用,从理论基础、工具选择、开发流程到实际案例分析。 阅读详情

原文:zh.annas-archive.org/md5/ea442d0490aad3d193551ec97eaf414e

译者:飞龙

协议:CC BY-NC-SA 4.0

附录 A. 安装 Python、Jupyter Notebook 和 PyTorch

在您的计算机上安装 Python 和管理库和包的多种方式存在。本书使用 Anaconda,这是一个开源的 Python 发行版、包管理器和环境管理工具。Anaconda 因其用户友好性和能够轻松安装大量库和包而脱颖而出,否则这些库和包的安装可能会很痛苦,甚至根本不可能安装。

具体来说,Anaconda 允许用户通过“conda install”和“pip install”两种方式安装包,从而扩大了可用资源的范围。本附录将指导您为本书中的所有项目创建一个专门的 Python 虚拟环境。这种分割确保了本书中使用的库和包与在其他无关项目中使用的任何库保持隔离,从而消除了任何潜在干扰。

我们将使用 Jupyter Notebook 作为我们的集成开发环境(IDE)。我将指导您在您刚刚创建的 Python 虚拟环境中安装 Jupyter Notebook。最后,我将根据您的计算机是否配备了支持 CUDA 的 GPU,引导您安装 PyTorch、Torchvision 和 Torchaudio。

A.1 安装 Python 和设置虚拟环境

在本节中,我将根据您的操作系统引导您在计算机上安装 Anaconda 的过程。之后,您将为本书中的所有项目创建一个 Python 虚拟环境。最后,您将安装 Jupyter Notebook 作为您的 IDE 来运行本书中的 Python 程序。

A.1.1 安装 Anaconda

要通过 Anaconda 发行版安装 Python,请按照以下步骤操作。

首先,访问 www.anaconda.com/download/success 并滚动到网页底部。找到并下载针对您特定操作系统(无论是 Windows、macOS 还是 Linux)的最新 Python 3 版本。

如果您使用的是 Windows,请从该链接下载最新的 Python 3 图形安装程序。点击安装程序并按照提供的说明进行安装。要确认 Anaconda 在您的计算机上已成功安装,您可以在计算机上搜索“Anaconda Navigator”应用程序。如果您可以启动该应用程序,则表示 Anaconda 已成功安装。

对于 macOS 用户,建议使用最新的 Python 3 图形安装程序,尽管也提供了命令行安装选项。运行安装程序并遵循提供的说明。通过在您的计算机上搜索“Anaconda Navigator”应用程序来验证 Anaconda 的成功安装。如果您可以启动该应用程序,则表示 Anaconda 已成功安装。

Linux 的安装过程比其他操作系统更复杂,因为没有图形安装程序。首先,确定最新的 Linux 版本。选择适当的 x86 或 Power8 和 Power9 包。点击下载最新的安装器 bash 脚本。默认情况下,安装器 bash 脚本通常保存在您的计算机的下载文件夹中。在终端中执行 bash 脚本来安装 Anaconda。安装完成后,通过运行以下命令来激活它:

source ~/.bashrc

要访问 Anaconda Navigator,请在终端中输入以下命令:

anaconda-navigator

如果您能成功在 Linux 系统上启动 Anaconda Navigator,则您的 Anaconda 安装已完成。

练习 A.1

根据您的操作系统在您的计算机上安装 Anaconda。安装完成后,打开计算机上的 Anaconda Navigator 应用程序以确认安装。

A.1.2 设置 Python 虚拟环境

非常推荐您为本书创建一个单独的虚拟环境。让我们将其命名为 dgai。在 Anaconda 命令提示符(Windows)或终端(Mac 和 Linux)中执行以下命令:

conda create -n dgai

按下键盘上的 Enter 键后,按照屏幕上的说明操作,当提示 y/n 时按 y。要激活虚拟环境,请在相同的 Anaconda 命令提示符(Windows)或终端(Mac 和 Linux)中运行以下命令:

conda activate dgai

虚拟环境将您为本书使用的 Python 包和库与其他用途的包和库隔离开来。这防止了任何不希望发生的干扰。

练习 A.2

在您的计算机上创建一个 Python 虚拟环境 dgai。安装完成后,激活该虚拟环境。

A.1.3 安装 Jupyter Notebook

现在,让我们在您计算机上新建的虚拟环境中安装 Jupyter Notebook。

首先,在 Anaconda 命令提示符(Windows)或终端(Mac 或 Linux)中运行以下代码行以激活虚拟环境:

conda activate dgai

在虚拟环境中安装 Jupyter Notebook,运行以下命令

conda install notebook

按照屏幕上的说明完成安装。

要启动 Jupyter Notebook,请在终端中执行以下命令:

jupyter notebook

Jupyter Notebook 应用程序将在您的默认浏览器中打开。

练习 A.3

在 Python 虚拟环境 dgai 中安装 Jupyter Notebook。安装完成后,在您的计算机上打开 Jupyter Notebook 应用程序以确认安装。

A.2 安装 PyTorch

在本节中,我将根据您的计算机上是否有启用 CUDA 的 GPU 来指导您安装 PyTorch。官方 PyTorch 网站 pytorch.org/get-started/locally/ 提供了有关带有或没有 CUDA 的 PyTorch 安装的更新。我鼓励您查看网站以获取任何更新。

CUDA 仅在 Windows 或 Linux 上可用,不在 Mac 上。要找出你的电脑是否配备了 CUDA 支持的 GPU,打开 Windows PowerShell(在 Windows 中)或终端(在 Linux 中)并输入以下命令:

nvidia-smi

如果你的电脑有 CUDA 支持的 GPU,你应该会看到一个类似于图 A.1 的输出。此外,注意图右上角所示的 CUDA 版本,因为你在安装 PyTorch 时需要这个信息。图 A.1 显示我的电脑上的 CUDA 版本是 11.8。你的电脑上的版本可能不同。

https://github.com/OpenDocCN/ibooker-dl-zh/raw/master/docs/lrn-genai-pt/img/APPA_F01_Liu.png

图 A.1 检查你的电脑是否具有 CUDA 支持的 GPU

如果你运行nvidia-smi命令后看到错误信息,说明你的电脑没有 CUDA 支持的 GPU。

在第一小节中,我将讨论如果你电脑上没有 CUDA 支持的 GPU,如何安装 PyTorch。你可以使用 CPU 来训练这本书中所有的生成式 AI 模型。这只需要更长的时间。然而,我会提供预训练的模型,这样你就可以见证生成式 AI 的实际应用。

另一方面,如果你使用 Windows 或 Linux 操作系统,并且电脑上确实有 CUDA 支持的 GPU,我将在下一小节中指导你安装带有 CUDA 的 PyTorch。

A.2.1 不使用 CUDA 安装 PyTorch

要使用 CPU 训练安装 PyTorch,首先在 Anaconda 提示符(在 Windows 中)或终端(在 Mac 或 Linux 中)中运行以下代码行来激活虚拟环境dgai:

conda activate dgai

你应该能在提示符前看到*(dgai),这表明你现在处于dgai*虚拟环境。要安装 PyTorch,输入以下命令行:

conda install pytorch torchvision torchaudio cpuonly -c pytorch

按照屏幕上的说明完成安装。在这里,我们一次性安装了三个库:PyTorch、Torchaudio 和 Torchvision。Torchaudio 是一个用于处理音频和信号的库,我们需要它来生成这本书中的音乐。我们还将广泛使用 Torchvision 库来处理图像。

如果你的 Mac 电脑配备了 Apple 硅或 AMD GPU,并且运行 macOS 12.3 或更高版本,你可以使用新的 Metal Performance Shaders 后端来加速 GPU 训练。更多信息请参阅developer.apple.com/metal/pytorch/和pytorch.org/get-started/locally/。

要检查三个库是否在你的电脑上成功安装,运行以下代码行:

import torch, torchvision, torchaudio

print(torch.__version__)
print(torchvision.__version__)
print(torchaudio.__version__)

我电脑上的输出显示

2.0.1
0.15.2
2.0.2

如果你没有看到错误信息,说明你已经在电脑上成功安装了 PyTorch。

A.2.2 使用 CUDA 安装 PyTorch

要使用 CUDA 安装 PyTorch,首先找出你 GPU 的 CUDA 版本,如图 A.1 右上角所示。我的 CUDA 版本是 11.8,因此我将用它作为安装示例。

如果你访问 PyTorch 网站pytorch.org/get-started/locally/,你会看到一个如图 A.2 所示的交互式界面。

一旦进入,选择你的操作系统,选择 Conda 作为包,Python 作为语言,以及根据你在上一步中找到的信息,选择 CUDA 11.8 或 CUDA 12.1 作为你的计算机平台。如果你的计算机上的 CUDA 版本既不是 11.8 也不是 12.1,请选择最接近你版本的选项,它将可以工作。例如,如果一台计算机的 CUDA 版本为 12.4,而有人使用了 CUDA 12.1,安装将成功。

需要运行的命令将在底部面板中显示。例如,我使用的是 Windows 操作系统,我的 GPU 上安装了 CUDA 11.8。因此,我的命令显示在图 A.2 的底部面板中。

https://github.com/OpenDocCN/ibooker-dl-zh/raw/master/docs/lrn-genai-pt/img/APPA_F02_Liu.png

图 A.2 如何安装 PyTorch 的交互式界面

一旦你知道如何运行命令来安装带有 CUDA 的 PyTorch,通过在 Anaconda 提示符(Windows)或终端(Linux)中运行以下代码行来激活虚拟环境:

conda activate dgai

然后执行你在上一步中找到的命令行。对我来说,命令行是

conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia

按照屏幕上的说明完成安装。在这里,我们一次性安装了三个库:PyTorch、Torchaudio 和 Torchvision。Torchaudio 是一个用于处理音频和信号的库,我们需要它来生成这本书中的音乐。我们还在书中广泛使用了 Torchvision 库来处理图像。

为了确保你已正确安装 PyTorch,在 Jupyter Notebook 的新单元格中运行以下代码行:

import torch, torchvision, torchaudio

print(torch.__version__)
print(torchvision.__version__)
print(torchaudio.__version__)
device=”cuda” if torch.cuda.is_available() else "cpu"
print(device)

我的计算机上的输出如下所示:

2.0.1
0.15.2
2.0.2
cuda

输出的最后一行说cuda,表示我已经安装了带有 CUDA 的 PyTorch。如果你在计算机上安装了不带 CUDA 的 PyTorch,输出将是cpu。

练习 A.4

根据你的操作系统和计算机是否具有 GPU 训练加速,在你的计算机上安装 PyTorch、Torchvision 和 Torchaudio。安装完成后,打印出你刚刚安装的三个库的版本。

附录 B. 最基本合格的读者和深度学习基础知识

本书旨在面向具有中级 Python 编程技能并希望了解生成式 AI 的机器学习爱好者以及各商业领域的数据科学家。通过本书,读者将学会创建新颖和创新的内容——如图像、文本、数字、形状和音频——这些内容可以造福他们的雇主业务并推进他们自己的职业生涯。

本书是为那些对 Python 有扎实掌握的人设计的。你应该熟悉整数、浮点数、字符串和布尔值等变量类型。你还应该熟悉创建for和while循环,并理解条件执行和分支(例如,使用if、elif和else语句)。本书经常使用 Python 函数和类,你应该知道如何安装和导入第三方 Python 库和包。如果你需要复习这些技能,W3Schools 提供的免费在线 Python 教程是一个很好的资源(www.w3schools.com/python/))。

此外,你应该对机器学习有一个基本的了解,特别是神经网络和深度学习。在本附录中,我们将回顾诸如损失函数、激活函数和优化器等关键概念,这些对于开发和管理深度神经网络至关重要。然而,本附录并非旨在成为这些主题的全面教程。如果你发现你的理解有不足之处,强烈建议你在继续进行本书中的项目之前解决这些问题。为此,一本很好的书是 Stevens、Antiga 和 Viehmann(2020 年)所著的《Deep Learning with PyTorch》。(1)

不需要具备 PyTorch 或生成式 AI 的先验经验。在第二章中,你将学习 PyTorch 的基础知识,从其基本数据类型开始。你还将使用 PyTorch 实现一个端到端的深度学习项目,以获得实践经验。第二章的目标是为你使用 PyTorch 构建和训练书中各种生成模型做好准备。

B.1 深度学习和深度神经网络

机器学习(ML)代表了人工智能领域的一个新范式。与将显式规则编程到计算机中的传统基于规则的 AI 不同,ML 涉及向计算机提供各种示例,并允许它自己学习规则。深度学习是 ML 的一个子集,它使用深度神经网络来完成这一学习过程。

在本节中,你将了解神经网络以及为什么一些被认为是深度神经网络。

B.1.1 神经网络的解剖结构

神经网络旨在模仿人脑的功能。它由一个输入层、一个输出层以及介于两者之间零个、一个或多个隐藏层组成。术语“深度神经网络”指的是具有许多隐藏层的网络,它们通常更强大。

我们将从包含两个隐藏层的简单示例开始,如图 B.1 所示。

https://github.com/OpenDocCN/ibooker-dl-zh/raw/master/docs/lrn-genai-pt/img/APPB_F01_Liu.png

图 B.1 神经网络的结构。神经网络由输入层;零个、一个或多个隐藏层;和输出层组成。每一层包含一个或多个神经元。每一层的神经元与前一层和后一层的神经元相连,这些连接的强度由权重表示。在此图中,神经网络具有一个包含三个神经元的输入层,两个分别包含六个和四个神经元的隐藏层,以及一个包含两个神经元的输出层。

神经网络由输入层、可变数量的隐藏层和输出层组成。每一层由一个或多个神经元组成。同一层的神经元与前一层和后一层的神经元相连,连接强度由权重衡量。如图 B.1 所示,该神经网络具有一个包含三个神经元的输入层,两个包含六个和四个神经元的隐藏层,以及一个包含两个神经元的输出层。

B.1.2 神经网络中的不同类型层

在神经网络中,各种类型的层具有不同的作用。最常见的是密集层,其中每个神经元都与下一层的每个神经元相连。由于这种完全连接性,密集层也被称为全连接层。

另一种在本书中经常使用的高级神经网络层是卷积层。卷积层将输入视为多维数据,并擅长从中提取模式。在我们的书中,卷积层通常用于从图像中提取空间特征。

卷积层与全连接(密集)层在几个关键方面有所不同。首先,卷积层中的每个神经元仅连接到输入的小区域。这种设计基于这样的理解:在图像数据中,局部像素组更有可能相关。这种局部连接显著减少了参数数量,使得卷积神经网络(CNNs)更加高效。其次,CNNs 使用共享权重——相同的权重应用于输入的不同区域。这种机制类似于在整个输入空间上滑动一个过滤器。这个过滤器检测特定的特征(例如,边缘或纹理),而不管它们在输入中的位置如何,这导致了平移不变性的特性。由于它们的结构,CNNs 在图像处理方面更加高效,所需参数少于类似大小的全连接网络。这导致了更快的训练时间和更低的计算成本。此外,CNNs 通常在捕获图像数据中的空间层次结构方面更加有效。我们将在第四章中详细讨论 CNNs。

第三种神经网络是循环神经网络(RNN)。全连接网络独立处理每个输入,分别处理每个输入,不考虑不同输入之间的任何关系或顺序。相比之下,RNN 专门设计来处理序列数据。在 RNN 中,给定时间步的输出不仅取决于当前输入,还取决于之前的输入。这允许 RNN 保持一种记忆形式,从之前的时间步捕获信息以影响当前输入的处理。详见第八章关于 RNN 的详细信息。

B.1.3 激活函数

激活函数是神经网络的关键组成部分,作为将输入转换为输出的机制,并决定何时激活神经元。一些函数类似于开关,在增强神经网络能力方面发挥着关键作用。没有激活函数,神经网络将仅限于学习数据中的线性关系。通过引入非线性,激活函数能够创建输入和输出之间的复杂非线性关系。

最常用的激活函数是线性整流单元(ReLU)。当输入为正时,ReLU 会激活神经元,有效地允许信息通过。当输入为负时,神经元被关闭。这种简单明了的开/关行为有助于建模非线性关系。

另一种常用的激活函数是 sigmoid 函数,它特别适合二分类问题。sigmoid 函数将输入压缩到 0 和 1 之间,有效地表示二元结果的概率。

对于多类别分类任务,使用 softmax 函数。softmax 函数将值向量转换为概率分布,其中值之和为 1。这对于建模多个结果的概率是理想的。

最后,tanh 激活函数值得关注。与 sigmoid 函数类似,tanh 产生介于-1 和 1 之间的值。这一特性在处理图像时特别有用,因为图像数据通常包含这个范围内的值。

B.2 训练深度神经网络

本节概述了训练神经网络所涉及的步骤。这个过程的关键方面是将您的训练数据集分为训练集、验证集和测试集,这对于开发健壮的深度神经网络至关重要。我们还将讨论在训练神经网络中使用的各种损失函数和优化器。

B.2.1 训练过程

构建神经网络后,下一步是收集训练数据集以训练模型。图 B.2 展示了训练过程中的步骤。

在图 B.2 的左侧,我们可以看到训练数据集被分为三个子集:训练集、验证集和测试集。这种划分对于构建一个鲁棒的深度神经网络至关重要。训练集是用于训练模型的数据子集,其中模型学习模式、权重和偏差。验证集用于在训练过程中评估模型的表现,并决定何时停止训练。测试集用于在训练完成后评估模型的最终性能,提供对模型泛化到新、未见数据能力的无偏评估。

在训练阶段,模型在训练集中的数据上进行训练。它迭代地调整其参数以最小化损失函数(参见下一节关于不同损失函数的说明)。在每个周期之后,使用验证集评估模型的表现。如果验证集上的性能继续改进,则继续训练。如果性能停止改进,则停止训练以防止过拟合。

https://github.com/OpenDocCN/ibooker-dl-zh/raw/master/docs/lrn-genai-pt/img/APPB_F02_Liu.png

图 B.2 训练神经网络。训练数据集被分为三个子集:训练集、验证集和测试集。训练神经网络的步骤如下。在训练阶段,使用训练集来训练神经网络并调整其参数以最小化损失函数。在每次训练迭代的每个周期中,模型根据训练集中的数据更新其参数。在每个迭代的验证阶段,使用验证集评估模型。验证集上的性能有助于确定模型是否仍在改进。如果模型在验证集上的性能继续改进,则使用训练集进行下一次训练迭代。如果模型在验证集上的性能停止改进,则停止训练过程以防止过拟合。一旦训练完成,在测试集上评估训练好的模型。这次评估提供了最终的测试结果,给出了模型在未见数据上的性能估计。

一旦训练完成,测试阶段开始。将模型应用于测试集(未见数据)以评估其最终性能并报告结果。

将数据集划分为三个不同的集合对于几个原因至关重要。训练子集允许模型从数据中学习模式和特征,并调整其参数。验证子集通过在训练期间进行性能监控来作为防止过拟合的检查。测试子集提供了对模型泛化能力的无偏评估,估计其在现实世界中的性能。

通过适当地分割数据并利用每个集合的预期用途,我们确保模型得到了良好的训练和公正的评估。

B.2.2 损失函数

损失函数对于衡量我们预测的准确性以及在训练深度神经网络时指导优化过程至关重要。

常用的损失函数之一是均方误差(MSE 或 L2 损失)。MSE 计算模型预测值与实际值之间的平均平方差异。与之密切相关的一个损失函数是平均绝对误差(MAE 或 L1 损失)。MAE 计算预测值与实际值之间的平均绝对差异。当数据有噪声且有许多异常值时,MAE 经常被使用,因为它对极端值的惩罚小于 L2 损失。

对于二元分类任务,其中预测是二元的(0 或 1),首选的损失函数是二元交叉熵。此函数衡量预测概率与实际二元标签之间的平均差异。

在多类别分类任务中,预测可以取多个离散值,此时使用的是类别交叉熵损失函数。此函数衡量预测概率分布与实际分布之间的平均差异。

在训练如深度神经网络等机器学习模型的过程中,我们调整模型参数以最小化损失函数。调整幅度与损失函数相对于模型参数的一阶导数成正比。学习率控制这些调整的速度。如果学习率过高,模型参数可能会在最优值周围振荡,永远不会收敛。相反,如果学习率过低,学习过程会变得缓慢,参数收敛需要很长时间。

B.2.3 优化器

优化器是在训练深度神经网络时用于调整模型权重以最小化损失函数的算法。它们通过确定模型参数在每一步应该如何更新来指导学习过程,从而随着时间的推移提高性能。

优化器的一个例子是随机梯度下降(SGD)。SGD 通过将权重移动到损失函数负梯度的方向来调整权重。它使用数据的一个子集(迷你批)在每个迭代中更新权重,这有助于加快训练过程并提高泛化能力。

在这本书中,最常用的优化器是 Adam(自适应矩估计)。Adam 结合了 SGD(随机梯度下降)的两种其他扩展的优势:AdaGrad 和 RMSProp。它根据梯度的第一和二阶矩的估计来为每个参数计算自适应学习率。这种适应性使得 Adam 特别适合涉及大数据集和/或大量参数的问题。


^(1)  埃利·史蒂文斯,卢卡·安蒂加,托马斯·维曼,2020 年,使用 PyTorch 进行深度学习,Manning 出版社。

PyTorch生成式AI实战:从零打造你的第一个创意模型 在生成式AI的世界里,代码是画笔,数据是颜料,想象力才是真正的画布!现在就开始你的创作之旅吧~:Midjourney生成概念设计图(2秒出4稿):支付宝刷脸支付(0.8秒完成验证)- PyTorch版最佳入门书。- 实战提升模型调优能力。- 获取最新预训练模型。- 免费GPU实验环境。 阅读详情

相关推荐

用生成式AI与Python进行海量的内容创作

生成式AI(Generative AI)近年来成为人工智能领域的一个热点方向。它通过学习已有数据生成与之相似的新数据,广泛应用于图像、文本、音频和视频的生成。Python,以其灵活性和丰富的库支持,成为生成式AI开发的首选语言。在这篇文章中,我们将探讨生成式AI与Python在未来内容创作中的无限可能性,从理论基础、技术实现到实际应用,全面展示生成式AI如何革新内容创作。

二进制的梦想 1669

pytorch零基础入门学习

零基础学习pytorch

m0_60524373的博客 1295

PyTorch生成式人工智能实战:从零打造创意引擎

专栏《PyTorch 生成式人工智能实战》深入探讨了生成式人工智能,这项技术通过其高效和快速的内容创作能力,正在重塑众多行业。具体来说,将学习如何使用生成式模型来创建各种形式的内容:数字、图像、文本和音频。此外,还将学习从零开始构建这些模型,以便深入理解生成式 AI 的内部工作原理,我们将使用 Python 和 PyTorch 来构建、训练和使用这些模型。

盼小辉丶的博客 3万+

Pytorch快速入门

这将在我们的数据集周围包装一个可迭代对象,并支持自动批处理、采样、洗牌和多进程数据加载。在这里,我们定义了一个大小为 64 的批,即 dataloader 可迭代对象中的每个元素将返回 64 个特征和标签的批。PyTorch 有两个 用于处理数据的原语:torch.utils.data.DataLoader 和 torch.utils.data.Dataset。在每个时期,模型都会学习参数以做出更好的预测。在单个训练循环中,模型对训练数据集(分批馈送)进行预测,并将预测误差反向传播以调整模型的参数。

振华OPPO的博客世界 3154

PyTorch生成式人工智能(2)——PyTorch基础

PyTorch 张量是多维数据的基本结构,支持灵活的形状变换、索引操作和数学计算。数据类型的选择(如精度权衡)和形状匹配是深度学习中的重要考量。通过张量操作,可高效实现数据预处理、特征整合及模型输入输出处理。

盼小辉丶的博客 1万+

生成式人工智能 (Generative AI)

1. 背景介绍 1.1 人工智能的新纪元 人工智能 (AI) 经历了漫长的发展历程,从早期的符号主义到连接主义,再到如今的深度学习,每一次技术革新都为 AI 领域带来了巨大的进步。而近年来,一个新兴的领域——生成式人工智能 (Generative AI) 正逐渐走入大众视野,并被视为人工智能发展的新

AI天才研究院 2101

深度学习06-pytorch从入门到精通

构建5*3数组,只是分配了空间未初始化#这里产生个0-1之间的tensor张量,并且初始化print(x1)自己创建的数据集没有做任何维度的转换。for input,label in dsLoader: #四条数据分成了2批,循环两次。

liaomin416100569的专栏 9120

PyTorch生成式人工智能——生成式多模态人工智能

生成式人工智能 (Generative Artificial Intelligence, GenAI) 是一类能够生成输出的 AI 模型,这并不意味着其他模型不能生成输出(所有 AI 模型都会生成输出),生成式 AI 强调的是能够理解训练数据的潜在模式,并根据这些模式生成新数据的模型。在本节中,我们将详细解释 Stable Diffusion 在文本到图像生成中的工作原理,并展示其在实际图像生成中的应用。

盼小辉丶的博客 2688

第N5周:Pytorch文本分类入门

python版本与要安装的torch、torchdata、torchvision、torchtext、portalocker库的版本是存在关联的,如果版本不对,代码在运行时会发生冲突,发生诸如“OSError: [WinError 127] 找不到指定的程序”这样的问题。还有一个问题,就是安装完torchvision时,可能也会同时自动安装torch,但自动安装的torch有可能不是我们自己想要安装的版本,这时就要把自动安装的torch卸载,等安装完torchaudio,再安装自己想要的torch版本。

lihuhelihu的博客 1109

PyTorch生成式人工智能(6)——生成模型(Generative Model)详解

本节介绍了人工智能的一个重要分支——生成模型,介绍了生成模型理论和应用的最新进展。我们从一个简单的示例开始,了解了生成模型最终关注的是对数据的潜在分布进行建模。通过总结生成模型框架,以理解生成模型的重要属性。然后,介绍了有助于理解生成模型的理论基础和关键概率概念,并概述了生成模型的分类方法。

盼小辉丶的博客 1万+

【Pytorch】2024 Pytorch基础入门教程(完整详细版)

Pytorch是torch的python版本,是由Facebook开源的神经网络框架,专门针对 GPU 加速的深度神经网络(DNN)编程。Torch 是一个经典的对多维矩阵数据进行操作的张量(tensor )库,在机器学习和其他数学密集型应用有广泛应用。与Tensorflow的静态计算图不同,pytorch的计算图是动态的,可以根据计算需要实时改变计算图。但由于Torch语言采用 Lua,导致在国内一直很小众,并逐渐被支持 Python 的 Tensorflow 抢走用户。

优快云已停更,感兴趣关注https://aaronzijingcai.github.io/ 27万+

【LLM新书】使用PyTorch学习生成式人工智能,434页pdf

学习如何通过构建自己的模型来理解生成式人工智能,这些模型可以撰写连贯的文本、生成逼真的图像,甚至创作出栩栩如生的音乐。

DEVELOPERAA的博客 1079

PDF批量加水印 与 去除水印实践

我们可以给PDF加图片水印或文字水印,要去除图片水印,一般只需要删除最后一个图片对象即可。要去除文字水印,需要保证主体内容和文字水印在/Contents中位于不同的对象内,这样我们只需要删除文字水印对应的对象即可删除水印。而对于主体内容和文字水印已经混合在一个对象时,本文的提供的方法则无能为力,需要进一步深入分析PDF细节。

小小明-代码实体的专栏 2759

2025三掌柜赠书活动第二十三期 生成式人工智能(基于PyTorch实现)

当前,生成式人工智能(AI)技术飞速发展。在多模态和推理能力方面,OpenAI的o3推理模型在数学、编程及博士级科学问题上的表现已超越部分人类专家,其上下文窗口扩展至百万级token,代码生成效率提升20%。Meta提出“大型概念模型”,实现在语义层级进行抽象推理,显著提升逻辑严谨性。DeepSeek-R1等国产模型通过“慢思考”技术优化推理路径。与此同时,生成式AI技术推动了智能体(Agent)的实用化突破,促使智能体从理论迈向产业部署。那么本文就来详细聊聊。

全沾软贱开发攻城狮 1万+

Python广度优先搜索BFS - 蓝桥13届省赛污染海域

请问这片N * M海域中有几块是没被污染的独立海域(没被污染的独立海域是指该块海域上下左右被已污染的海域包围,且N * M以外的海域都为已被污染的海域)有一片海域划分为N * M个方格,其中有些海域已被污染(用0表示),有些海域没被污染(用1表示)。第二行开始输入N行,每行M个数字(数字只能为1或者0,1表示没被污染的海域,0表示已被污染的海域)这块4 * 5的海域,有3块海域(绿色)没被污染,因为每一块的上下左右都被污染的海域包围。输出一个整数,表示N * M的海域中有几块是没被污染的独立海域。

m0_69865359的博客 264

STM32F103+AX58100 EtherCAT从站SPI移植实战:CubeMX配置避坑指南

本文详细介绍了STM32F103与AX58100 EtherCAT从站控制器的SPI接口移植实战,重点解析CubeMX配置中的关键参数与常见陷阱。内容涵盖硬件连接规范、SPI模式设置、中断优先级规划及协议栈对接技巧,帮助开发者高效实现工业自动化领域的实时通信方案。特别强调CPOL/CPHA配置与AX58100的匹配要求,避免数据错位问题。

weixin_29230865的博客 331

PyTorch 生成式人工智能学习指南(一)

什么是生成式 AI?它与非生成式对应物,即判别模型有何不同?为什么我们在这本书中选择 PyTorch 作为 AI 框架?在本部分中,我们回答这些问题。此外,本书中所有生成式 AI 模型都是深度神经网络。因此,你将学习如何使用 PyTorch 创建深度神经网络以执行二分类和多分类,以便你能够熟练掌握深度学习和分类任务。目的是让你为即将到来的章节做好准备,在这些章节中,你将使用 PyTorch 中的深度神经网络创建各种生成模型。你还将学习如何使用 PyTorch 构建和训练生成对抗网络以生成形状和数字序列。

龙哥盟 974

YOLOv8改进策略【卷积层】| DEConv: 强度信息与梯度特征融合的细节增强 适用于小目标与细节目标检测任务

本文记录的是利用 模块优化 的目标检测网络模型。(Detail-Enhanced Convolution,细节增强卷积)的设计旨在,解决 目标检测网络中传统普通卷积缺乏目标细节相关先验、对小目标边缘、目标与背景边界等关键细节捕捉能力不足的问题,同时避免引入额外参数量与计算开销,以适配 对实时推理性能与检测精度的双重需求。DEA-Net: Single image dehazing based on detail-enhanced convolution and content-guided atte

Limiiiing的博客 348

PyTorch 生成式人工智能学习指南(四)

首先,让我们谈谈多轨音乐是如何工作的以及它是如何以数字形式表示的。在电子音乐制作中,“轨”通常指的是音乐的一个单独的层次或组成部分,例如鼓轨、贝斯轨或旋律轨。在古典音乐中,轨可能代表不同的声乐部分,如女高音、女低音、男高音和男低音。例如,我们在这章中使用的训练数据集,JSB Chorales 数据集,包含四个轨,对应四个声乐部分。在音乐制作中,每个轨都可以在数字音频工作站(DAW)中单独编辑和处理。这些轨由各种音乐元素组成,包括小节、步骤和音符。

龙哥盟 1323

SoC 内的 CPU、GPU、DSP、NPU 协同执行结构图解析:多异构协同的最新实战体系

随着移动端 AI 能力迅速演进,SoC(System on Chip)内部的多种异构计算单元(CPU、GPU、DSP、NPU)之间的协同执行能力成为衡量芯片智能算力的关键指标。本文基于截至 2025 年 5 月最新主流国产芯片(如海思昇腾、地平线旭日、联发科天玑、高通骁龙 8 Gen 系、寒武纪思元等)在实际落地应用中的公开结构与技术资料,深入解析 CPU-GPU-DSP-NPU 协同执行的体系结构、执行路径与调度逻辑。文章结合 Android NNAPI、Vulkan Compute、自定义调度器等工程实

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 8710

Simulink开发项1000例实战专栏--实例52:基于Simulink开发一个超导磁储能控制系统,实现对SMES系统的精确控制和优化

需求分析超导磁储能系统(Superconducting Magnetic Energy Storage, SMES)是一种利用超导线圈储存和释放电能的高效储能技术。SMES系统具有响应速度快、能量密度高、循环寿命长等优点,广泛应用于电力系统的调峰填谷、频率调节、电压稳定以及紧急备用电源等领域。本项目将基于Simulink平台,开发一个完整的超导磁储能控制系统,实现对SMES系统的精确控制和优化。我们将详细讲解如何设计和实现该系统,并结合实际应用案例进行说明。

xiaoheshang_123的博客 236
上一篇: PyTorch 生成式人工智能学习指南(四)
下一篇: Java Lambda 学习指南(一)
绝不原创的飞龙
绝不原创的飞龙 优质创作者: 人工智能、数据科学与机器学习技术领域 优质创作者: 人工智能、数据科学与机器学习技术领域
博客等级 码龄15年 4万+粉丝 2万+原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值