Pytorch从入门到精通:一、准备工作与查询函数

news2024/11/16 13:52:18

之前虽然做了不少计算机视觉的项目,但是如果让我从0还是用Pytorch开始写的话还是有一点难度。原因就在于没有系统的学习Pytorch,对于里面的不少模块都只知道使用,不知道原理,知道它能工作,但是不知道怎么样工作的。所以,现在暑假来袭,准备开一个《Pytorch从入门到精通》的专栏,从0开始学习Pytorch,为后面计算机视觉的学习打下基础。这一篇是开篇之作,主要介绍一下环境安装和dir和help函数的运用,文末给大家抽一本Pytorch的好书只需要点赞这篇博客即可,希望大家能够喜欢。
在这里插入图片描述

文章目录

  • 一、查看显卡信息
  • 二、创建虚拟环境
  • 三、将jupyter与创建的虚拟环境关联
  • 四、查看pytorch是否可用
  • 五、dir函数
  • 六、help函数
  • 七、抽书

一、查看显卡信息

nvidia-smi

在这里插入图片描述

二、创建虚拟环境

conda create -n Pytorch python=3.8
conda activate Pytorch
pip list # 查看当前虚拟环境中的包
conda env list # 查看虚拟环境有哪些
where  python # 查看python解释器在哪里

三、将jupyter与创建的虚拟环境关联

● 在base环境下安装Pytorch(不推荐)
● 在创建好的虚拟环境中安装jupyter

conda activate pytorch
pip install nb_conda 
jupyter notebook

四、查看pytorch是否可用

import torch
print(torch.cuda.is_available())

在这里插入图片描述

五、dir函数

查看一个大类里面有什么小类

import torch
print(dir(torch.cuda))

# return
['Any', 'BFloat16Storage', 'BFloat16Tensor', 'BoolStorage', 'BoolTensor', 'ByteStorage', 'ByteTensor', 'CUDAGraph', 'CharStorage', 'CharTensor', 'ComplexDoubleStorage', 'ComplexFloatStorage', 'CudaError', 'DeferredCudaCallError', 'Device', 'Dict', 'DoubleStorage', 'DoubleTensor', 'Event', 'FloatStorage', 'FloatTensor', 'HalfStorage', 'HalfTensor', 'IntStorage', 'IntTensor', 'List', 'LongStorage', 'LongTensor', 'Optional', 'ShortStorage', 'ShortTensor', 'Stream', 'StreamContext', 'Tuple', 'Union', '_CudaBase', '_CudaDeviceProperties', '_LazySeedTracker', '_StorageBase', '__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__', '_check_capability', '_check_cubins', '_cudart', '_device', '_device_t', '_dummy_type', '_get_device_index', '_initialization_lock', '_initialized', '_is_in_bad_fork', '_lazy_call', '_lazy_init', '_lazy_new', '_lazy_seed_tracker', '_queued_calls', '_sleep', '_tls', '_utils', 'amp', 'caching_allocator_alloc', 'caching_allocator_delete', 'can_device_access_peer', 'check_error', 'collections', 'contextlib', 'cudaStatus', 'cudart', 'current_blas_handle', 'current_device', 'current_stream', 'default_generators', 'default_stream', 'device', 'device_count', 'device_of', 'empty_cache', 'get_arch_list', 'get_device_capability', 'get_device_name', 'get_device_properties', 'get_gencode_flags', 'get_rng_state', 'get_rng_state_all', 'get_sync_debug_mode', 'graph', 'graph_pool_handle', 'graphs', 'has_half', 'has_magma', 'init', 'initial_seed', 'ipc_collect', 'is_available', 'is_bf16_supported', 'is_initialized', 'list_gpu_processes', 'make_graphed_callables', 'manual_seed', 'manual_seed_all', 'max_memory_allocated', 'max_memory_cached', 'max_memory_reserved', 'mem_get_info', 'memory', 'memory_allocated', 'memory_cached', 'memory_reserved', 'memory_snapshot', 'memory_stats', 'memory_stats_as_nested_dict', 'memory_summary', 'nccl', 'nvtx', 'os', 'profiler', 'random', 'reset_accumulated_memory_stats', 'reset_max_memory_allocated', 'reset_max_memory_cached', 'reset_peak_memory_stats', 'seed', 'seed_all', 'set_device', 'set_per_process_memory_fraction', 'set_rng_state', 'set_rng_state_all', 'set_stream', 'set_sync_debug_mode', 'sparse', 'stream', 'streams', 'synchronize', 'threading', 'torch', 'traceback', 'warnings']
# 如果出现__xx__说明这个函数已经分到底了,无法再继续细分,这里面双下划线其实是这个函数的变量,无法修改

六、help函数

查看函数什么作用

import torch
# print(dir(torch.cuda))
help(torch.cuda.is_available)  # 记得去掉括号
# return
is_available() -> bool
    Returns a bool indicating if CUDA is currently available.

七、抽书

近年来,机器学习方法凭借其理解海量数据和自主决策的能力,已在医疗保健、 机器人、生物学、物理学、大众消费和互联网服务等行业得到了广泛的应用。自从AlexNet模型在2012年ImageNet大赛被提出以来,机器学习和深度学习迅猛发展,取得了一个又一个里程碑式的成就,深刻地影响了工业界、学术界和人们的生活。如今,机器学习、深度学习、人工智能已经成为信息领域最热门的研究方向,在就业市场这些领域的工作也非常吸引人。科学的巨大飞跃通常来自精彩的想法和易用的工具,机器学习也不例外。在实践中应用机器学习需要理论和工具的结合。对于机器学习的入门读者而言, 从理解原理概念到确定要安装的软件包都有一定的难度。许多在最开始尝试机器学习的时候,会发现理解一个算法在干什么真的非常难。不仅仅是因为算法里各种繁杂的数学理论和难懂的符号,没有实际的例子,光靠定义和推导来了解一个算法实在是很无聊。就连网络上的相关的指导材料,能找到的通常都是各种公式以及晦涩难懂的解释,很少有人能够细致的将所有细节加以说明。

因此,《Python机器学习:基于PyTorch和Scikit-Learn》这本书的定位是把机器学习理论和工程实践结合起来,从而降低读者的阅读门槛。从数据驱动方法的基础知识到最新的深度学习框架,本书每一章都提供了机器学习代码示例,用于解决实际应用中的机器学习问题。
在这里插入图片描述

《Python机器学习:基于PyTorch和Scikit-Learn》
[美]塞巴斯蒂安·拉施卡、[美]刘玉溪(海登)、
[美]瓦希德·米尔贾利利 著 
Python深度学习“四大名著”之一全新PyTorch版
PyTorch核心维护者Dmytro Dzhulgakov
亲笔作序推荐
本书既介绍了了机器学习领域的基本原理, 也介绍了机器学习的工程实践。本书的价值无可估量,同时也希望这本书能够激励读者将机器学习用于自己的研究领域。
本书是一本全面介绍在PyTorch环境下学习机器学习和深度学习的综合指南,可以作为初学者的入门教程,也可以作为读者开发机器学习项目时的参考书。
本书讲解清晰、示例生动,深入介绍了机器学习方法的基础知识,不仅提供了构建机器学习模型的说明,而且提供了构建机器学习模型和解决实际问题的基本准则。本书添加了基于PyTorch的深度学习内容,介绍了新版Scikit-Learn。本书涵盖了多种用于文本和图像分类的机器学习与深度学习方法,介绍了用于生成新数据的生成对抗网络(GAN)和用于训练智能体的强化学习。最后,本书还介绍了深度学习的新动态,包括图神经网络和用于自然语言处理(NLP)的大型transformer。无论是机器学习入门新手,还是计划跟踪机器学习进展的研发人员,都可以将本书作为使用Python进行机器学习的不二之选。
学完本书,你将能够:
1.探索机器从数据中“学习”的框架、模型和方法。
2.使用Scikit-Learn实现机器学习,使用PyTorch实现深度学习。
3.训练机器学习分类器分类图像、文本等数据。
4.构建和训练神经网络、transformer及图神经网络。
5.探索评估和优化模型的最佳方法。
6.使用回归分析预测连续目标结果。
7.使用情感分析深入地挖掘文本和社交媒体数据。

目录

译者序
序
前言
作者简介
审校者简介

第1章 赋予计算机从数据中学习的能力1

 1.1 将数据转化为知识的智能系统1

 1.2 三种机器学习类型2

1.2.1 用于预测未来的监督学习2

1.2.2 解决交互问题的强化学习4

1.2.3 发现数据中隐藏规律的无监督学习 5

 1.3 基本术语与符号6

1.3.1 本书中使用的符号和约定6

1.3.2 机器学习术语8

 1.4 构建机器学习系统的路线图8

1.4.1 数据预处理——让数据可用8

1.4.2 训练和选择预测模型9

1.4.3 使用未见过的数据对模型进行评估10

 1.5 使用Python实现机器学习算法10

1.5.1 从Python Package Index中安装Python和其他软件包10

1.5.2 使用Anaconda Python

软件包管理器11

1.5.3 科学计算、数据科学和机器学习软件包12

 1.6 本章小结132章 训练简单的机器学习分类算法14

 2.1 人工神经元——机器学习早期历史一瞥14

2.1.1 人工神经元的定义15

2.1.2 感知机学习规则16

 2.2 使用Python实现感知机学习算法19

2.2.1 面向对象的感知机API19



2.2.2 使用鸢尾花数据集训练感知机22

 2.3 自适应线性神经元与算法收敛27

2.3.1 使用梯度下降法最小化损失函数28

2.3.2 在Python中实现Adaline30

2.3.3 通过特征缩放改进梯度下降34

2.3.4 大规模机器学习与随机梯度下降36

 2.4 本章小结41



XIV

第3章 ScikitLearn机器学习分类算法之旅42

 3.1 分类算法的选择42

 3.2 学习ScikitLearn的第一步——训练感知机43

 3.3 用逻辑回归算法建模分类概率48

3.3.1 逻辑回归与条件概率48

3.3.2 用逻辑损失函数更新模型权重51

3.3.3 从Adaline的代码实现到逻辑回归的代码实现53

3.3.4 用ScikitLearn训练逻辑回归模型56

3.3.5 使用正则化避免模型过拟合59

 3.4 基于最大分类间隔的支持向量机62

3.4.1 理解最大分类间隔62

3.4.2 使用松弛变量解决非线性可分问题62

3.4.3 ScikitLearn中另外一种实现64

 3.5 使用核支持向量机求解非线性问题64

3.5.1 处理线性不可分数据的核方法64

3.5.2 使用核方法在高维空间中寻找分离超平面66

 3.6 决策树学习69

3.6.1 最大化信息增益70

3.6.2 构建决策树73

3.6.3 多棵决策树组成随机森林76

 3.7 基于惰性学习策略的k近邻算法78

 3.8 本章小结814章 构建良好的训练数据集——数据预处理83

 4.1 处理缺失值83

4.1.1 识别表格数据中的缺失值83

4.1.2 删除含有缺失值的样本或特征85

4.1.3 填补缺失值85

4.1.4 ScikitLearn的估计器86

 4.2 处理类别数据87

4.2.1 用pandas实现类别数据编码88

4.2.2 映射有序特征88

4.2.3 类别标签编码89

4.2.4 标称特征的独热编码90

 4.3 将数据集划分为训练数据集和测试数据集93

 4.4 使特征具有相同的尺度95

 4.5 选择有意义的特征97

4.5.1 用L1和L2正则化对模型复杂度进行惩罚98

4.5.2 L2正则化的几何解释98

4.5.3 L1正则化与稀疏解99

4.5.4 序贯特征选择算法102

 4.6 用随机森林评估特征重要性107

 4.7 本章小结1095章 通过降维方法压缩数据110

 5.1 无监督降维的主成分分析方法110

5.1.1 主成分分析的主要步骤110

5.1.2 提取主成分的步骤112

5.1.3 总方差和被解释的方差114

5.1.4 特征变换115

5.1.5 用ScikitLearn实现主成分分析118

5.1.6 评估特征的贡献120

 5.2 监督数据压缩的线性判别分析方法122

5.2.1 主成分分析与线性判别分析122

5.2.2 线性判别分析基本原理123

5.2.3 计算散布矩阵124

5.2.4 为新特征子空间选择线性判别式126

5.2.5 将样本投影到新的特征空间128

5.2.6 用ScikitLearn实现线性判别分析128

 5.3 非线性降维和可视化130

5.3.1 非线性降维的不足130

5.3.2 使用tSNE可视化数据131

 5.4 本章小结135

XV

第6章 模型评估和超参数调优的最佳实践136

 6.1 使用pipeline方法简化工作流程136

6.1.1 加载威斯康星乳腺癌数据集136

6.1.2 在pipeline中集成转换器和估计器138

 6.2 使用k折交叉验证评估模型性能140

6.2.1 holdout交叉验证140

6.2.2 k折交叉验证140

 6.3 用学习曲线和验证曲线调试算法144

6.3.1 使用学习曲线解决偏差和方差问题144

6.3.2 使用验证曲线解决过拟合和欠拟合问题146

 6.4 通过网格搜索微调机器学习模型148

6.4.1 通过网格搜索调整超参数148

6.4.2 通过随机搜索更广泛地探索超参数的配置149

6.4.3 连续减半超参数的搜索算法151

6.4.4 嵌套交叉验证153

 6.5 模型性能评估指标154

6.5.1 混淆矩阵155

6.5.2 精确率和召回率156

6.5.3 绘制ROC曲线158

6.5.4 多分类器评价指标160

6.5.5 处理类别不均衡问题161

 6.6 本章小结163

XVI

第7章 组合不同模型的集成学习164

 7.1 集成学习164

 7.2 通过绝对多数投票组合分类器167

7.2.1 实现一个简单的基于绝对多数投票的集成分类器167

7.2.2 使用绝对多数投票原则进行预测171

7.2.3 评估和调整集成分类器173

 7.3 bagging——基于bootstrap样本构建集成分类器179

7.3.1 bagging简介179

7.3.2 使用bagging对葡萄酒数据集中的样本进行分类180

 7.4 通过自适应boosting提高弱学习器的性能184

7.4.1 boosting的工作原理184

7.4.2 用ScikitLearn实现AdaBoost188

 7.5 梯度boosting——基于损失梯度训练集成分类器191

7.5.1 比较AdaBoost与梯度boosting191

7.5.2 通用的梯度boosting算法概述191

7.5.3 解释用于分类的梯度boosting算法193

7.5.4 用梯度boosting分类的例子194

7.5.5 使用XGBoost196

 7.6 本章小结1978章 用机器学习进行情感分析198

 8.1 对IMDb影评数据进行文本处理198

8.1.1 获取影评数据集199

8.1.2 将影评数据集预处理成更易使用的格式199

 8.2 词袋模型201

8.2.1 将单词转换为特征向量201

8.2.2 通过词频-逆文档频率评估单词的相关性203

8.2.3 文本数据清洗204

8.2.4 将文档处理成token206

 8.3 训练用于文档分类的逻辑回归模型208

 8.4 处理更大的数据——在线算法

和核外学习方法210

 8.5 用潜在狄利克雷分配实现主题

建模213

8.5.1 使用LDA分解文本

文档214

8.5.2 用ScikitLearn实现

LDA214

 8.6 本章小结2179章 预测连续目标变量的

回归分析218

 9.1 线性回归简介218

9.1.1 简单线性回归218

9.1.2 多元线性回归219

 9.2 探索艾姆斯住房数据集220

9.2.1 将艾姆斯住房数据集加载

到DataFrame中220

9.2.2 可视化数据集的重要

特征222

9.2.3 使用相关矩阵查看

相关性223

 9.3 最小二乘线性回归模型的

实现225

9.3.1 用梯度下降法求解回归

参数225

9.3.2 用ScikitLearn估计回归

模型的系数229

 9.4 使用RANSAC拟合稳健回归

模型231

 9.5 评估线性回归模型的性能233

 9.6 使用正则化方法进行回归237

 9.7 将线性回归模型转化为曲线——

多项式回归238

9.7.1 使用ScikitLearn添加

多项式项239

9.7.2 建模艾姆斯住房数据

集中的非线性关系240

 9.8 使用随机森林处理非线性

关系243

9.8.1 决策树回归243

9.8.2 随机森林回归245

 9.9 本章小结247

XVII

第10章 处理无标签数据的

聚类分析248

 10.1 使用k均值算法对样本分组248

10.1.1 用ScikitLearn实现

k均值聚类248

10.1.2 k均值++——更聪明的

簇初始化方法252

10.1.3 硬聚类与软聚类253

10.1.4 用肘方法求解最优簇的

数量255

10.1.5 通过轮廓图量化聚类

质量255

 10.2 把簇组织成层次树260

10.2.1 自底向上的聚类260

10.2.2 在距离矩阵上进行分层

聚类262

10.2.3 热度图与树状图

结合265

10.2.4 通过ScikitLearn进行

凝聚聚类266

 10.3 通过DBSCAN定位高密度

区域267

 10.4 本章小结272



XVIII

第11章 从零开始实现多层人工神经网络273

 11.1 用人工神经网络建立复杂函数

模型273

11.1.1 单层神经网络274

11.1.2 多层神经网络结构275

11.1.3 利用前向传播激活神经

网络277

 11.2 识别手写数字279

11.2.1 获取并准备MNIST

数据集279

11.2.2 实现多层感知机282

11.2.3 神经网络训练代码287

11.2.4 评估神经网络的

性能291

 11.3 训练人工神经网络295

11.3.1 损失函数的计算295

11.3.2 理解反向传播296

11.3.3 通过反向传播训练

神经网络297

 11.4 关于神经网络的收敛性300

 11.5 关于神经网络实现的最后

几句话300

 11.6 本章小结30112章 用PyTorch并行训练

神经网络302

 12.1 PyTorch和模型的训练性能302

12.1.1 性能挑战302

12.1.2 什么是PyTorch303

12.1.3 如何学习PyTorch304

 12.2 学习PyTorch的第一步304

12.2.1 安装PyTorch305

12.2.2 在PyTorch中创建

张量306

12.2.3 对张量形状和数据

类型进行操作307

12.2.4 张量数学运算307

12.2.5 拆分、堆叠和连接

张量309

 12.3 在PyTorch中构建输入

pipeline310

12.3.1 使用已有张量创建

PyTorch DataLoader

311

12.3.2 将两个张量组合成

一个联合数据集311

12.3.3 乱序、批处理和

重复313

12.3.4 用存储在本地硬盘的

文件创建数据集314

12.3.5 从torchvision.datasets

库中获取数据集318

 12.4 在PyTorch中构建神经网络模型321

12.4.1 PyTorch神经网络模块322

12.4.2 构建线性回归模型322

12.4.3 使用torch.nn和

torch.optim模块

训练模型325

12.4.4 构建多层感知机对鸢尾花数据集分类326

12.4.5 在测试数据集上评估训练好的模型329

12.4.6 保存和重新加载训练好的模型329

 12.5 为多层神经网络选择激活函数330

12.5.1 回顾逻辑函数331

12.5.2 使用softmax函数估计多分类中的

类别概率332

12.5.3 使用双曲正切函数拓宽输出范围333

12.5.4 整流线性单元335

 12.6 本章小结33713章 深入探讨PyTorch的

工作原理338

 13.1 PyTorch的主要功能338

 13.2 PyTorch的计算图339

13.2.1 理解计算图339

13.2.2 在PyTorch中创建计算图339

 13.3 用于存储和更新模型参数的

PyTorch张量340

 13.4 通过自动微分计算梯度342

13.4.1 计算损失函数关于

可微变量的梯度342

13.4.2 自动微分343

13.4.3 对抗样本344

 13.5 使用torch.nn模块简化常见

结构344

13.5.1 使用nn.Sequential

实现模型344

13.5.2 选择损失函数345

13.5.3 解决XOR分类

问题346

13.5.4 使用nn.Module灵活

构建模型350

13.5.5 使用PyTorch编写

自定义层352

 13.6 项目1:预测汽车的燃油

效率356

13.6.1 使用特征列357

13.6.2 训练DNN回归

模型360

 13.7 项目2:分类MNIST手写

数字362



XIX

 13.8 高级PyTorch API:PyTorch

Lightning简介364

13.8.1 构建PyTorch Lightning

模型365

13.8.2 为Lightning 设置数据

加载器367

13.8.3 使用PyTorch Lightning 

Trainer类训练模型369

13.8.4 使用TensorBoard评估

模型370

 13.9 本章小结37314章 使用深度卷积神经网络

对图像进行分类374

 14.1 卷积神经网络的组成模块374

14.1.1 了解卷积神经网络和

层次特征375

14.1.2 离散卷积376

14.1.3 下采样层383

XX

 14.2 构建卷积神经网络385

14.2.1 处理多个输入通道385

14.2.2 使用L2范数和dropout

对神经网络正则化388

14.2.3 分类任务的损失

函数390

 14.3 使用PyTorch实现深度卷积

神经网络392

14.3.1 多层卷积神经网络

结构392

14.3.2 数据加载和预处理393

14.3.3 使用torch.nn模块

实现卷积神经网络394

 14.4 使用卷积神经网络对人脸图像

进行微笑分类400

14.4.1 加载CelebA

数据集400

14.4.2 图像转换和数据

增广401

14.4.3 训练卷积神经网络

微笑分类器407

 14.5 本章小结41315章 用循环神经网络对序列

数据建模415

 15.1 序列数据415

15.1.1 序列数据建模415

15.1.2 序列数据与时间序列

数据416

15.1.3 序列数据的表示416

15.1.4 序列建模方法417

 15.2 用于序列数据建模的循环

神经网络418

15.2.1 循环神经网络的循环

机制418

15.2.2 循环神经网络激活值

计算419

15.2.3 隐藏层循环与输出层

循环421

15.2.4 远距离学习面临的

问题424

15.2.5 长短期记忆网络425

 15.3 在PyTorch中实现循环神经

网络426

15.3.1 项目1:基于IMDb

影评进行情感分析427

15.3.2 项目2:在PyTorch

中实现字符级语言

建模437

 15.4 本章小结44816章 transformer:利用

注意力机制改善自然

语言处理效果449

 16.1 带有注意力机制的循环神经

网络449

16.1.1 帮助循环神经网络获取

信息的注意力机制450

16.1.2 循环神经网络中最初的

注意力机制451

16.1.3 用双向循环神经网络

模型处理输入数据452

16.1.4 根据上下文向量得到输出452

16.1.5 计算注意力权重453

 16.2 自注意力机制453

16.2.1 自注意力机制的基本形式454

16.2.2 自注意力机制的参数化:

缩放点积注意力457

 16.3 注意力是唯一需要的:最初的

transformer460

16.3.1 通过多头注意力编码上下文嵌入向量460

16.3.2 学习语言模型:解码器和掩码多头注意力464

16.3.3 实现细节:位置编码和层归一化465

 16.4 利用未标注的数据构建大型语言模型467

16.4.1 预训练和微调transformer模型467

16.4.2 使用未标注数据的GPT模型469

16.4.3 使用GPT2生成新文本471

16.4.4 双向预训练的BERT模型474

16.4.5 两全其美的模型:BART476

 16.5 用PyTorch微调BERT模型478

16.5.1 加载IMDb影评数据集479

16.5.2 数据集分词481

16.5.3 加载和微调预训练BERT模型482

16.5.4 使用Trainer API微调transformer486

 16.6 本章小结489



XXI

第17章 用于合成新数据的生成

对抗网络491

 17.1 生成对抗网络491

17.1.1 自编码器492

17.1.2 用于合成新数据的生成

模型493

17.1.3 用生成对抗网络生成

新样本494

17.1.4 理解生成对抗网络模型

中生成器和判别器网络

的损失函数495

 17.2 从零开始实现生成对抗网络497

17.2.1 用谷歌Colab训练生成

对抗网络模型497

17.2.2 实现生成器和判别器网络499

17.2.3 定义训练数据集502

17.2.4 训练生成对抗网络模型504

 17.3 用卷积GAN和Wasserstein GAN提高生成图像的质量510

17.3.1 转置卷积510

17.3.2 批归一化511

17.3.3 实现生成器和判别器513

17.3.4 两个分布之间的差异度度量520

17.3.5 在生成对抗网络实践中使用EM距离523

17.3.6 梯度惩罚523

17.3.7 使用WGANGP实现深度卷积生成对抗网络524

17.3.8 模式坍塌527

 17.4 其他生成对抗网络应用529

 17.5 本章小结530

XXII

第18章 用于捕获图数据关系的

图神经网络531

 18.1 图数据简介531

18.1.1 无向图532

18.1.2 有向图533

18.1.3 标签图533

18.1.4 将分子结构表示

为图533

 18.2 理解图卷积534

18.2.1 图卷积的基本原理534

18.2.2 实现一个基本的图卷积

函数536

 18.3 用PyTorch从零开始实现图神经

网络540

18.3.1 定义NodeNetwork

模型540

18.3.2 NodeNetwork图卷积层

编码541

18.3.3 添加一个全局池化层

处理大小不同的图542

18.3.4 准备数据加载工具545

18.3.5 使用NodeNetwork进行

预测548

18.3.6 使用PyTorch Geometric

库实现图神经网络548

 18.4 其他图神经网络层和最新的

进展554

18.4.1 谱图卷积554

18.4.2 池化555

18.4.3 数据归一化556

18.4.4 图神经网络文献557

 18.5 本章小结55919章 在复杂环境中做决策的

强化学习560

 19.1 从经验中学习概述560

19.1.1 了解强化学习561

19.1.2 智能体与环境562

 19.2 强化学习的理论基础563

19.2.1 马尔可夫决策过程563

19.2.2 阶段性任务与持续性

任务566

19.2.3 强化学习术语566

19.2.4 使用贝尔曼方程的动态

规划569

 19.3 强化学习算法569

19.3.1 动态规划570

19.3.2 蒙特卡罗强化学习572

19.3.3 时序差分学习573

 19.4 实现第一个强化学习算法575

19.4.1 OpenAI Gym工具包介绍575

19.4.2 用Q学习解决网格世界问题584

 19.5 深度Q学习概览588

19.5.1 训练深度Q学习网络模型589

19.5.2 实现深度Q学习算法591

 19.6 本章小结及本书总结595


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/728780.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

QT - 20230707

登录界面练习 #include "loginwindow.h"QIcon fetchIconWithName(QString name) {QString res "../login/images/" name;return QIcon(res); }LoginWindow::LoginWindow(QWidget *parent): QMainWindow(parent) {this->resize(600, 800);this->se…

小红书私信软件:把微信二维码联系方式隐藏在图片中推广引流找客源

小红书私信软件:把微信二维码联系方式隐藏在图片中推广引流找客源,小红书还能这么玩?小红书暑期聊天功能上新了,共享收藏夹、斗图神器,暑期表情,笔记表态....快去和好友一起解锁新功能吧! #小红书 最近发现…

YOLOv5-第Y1周:调用官方权重进行检测

YOLOv5-第Y1周:调用官方权重进行检测 YOLOv5-第Y1周:调用官方权重进行检测一、前言二、我的环境三、下载源码四、运行代码五、视频检测八、总结 YOLOv5-第Y1周:调用官方权重进行检测 一、前言 🍨 本文为🔗365天深度学…

【Redis-工具类】自定义Redis工具类并使用其进行简单操作

【Redis-工具类】自定义Redis工具类并使用其进行简单操作 1)自定义 Redis 工具类2)工具类的简单使用 1)自定义 Redis 工具类 package gaei.cn.x5l.x5lhive2cos.utils;import gaei.cn.x5l.x5lhive2cos.CosDataBackupHistory; import gaei.cn.…

AI智能化数据分析,赋能文旅直播发展新赛道

一、文旅直播发展背景 近期,旅游业市场呈现火热态势。暑期旅游市场预计迎来新一轮旅游小高峰,旅游业进入结构性复苏新阶段。而随着社交媒介的普及与旅游直播的兴起,全国多地文旅“出圈”形成热议。 对于文旅产业发展来说,高品质…

【如何在工作中保持稳定的情绪 --- 保持稳定情绪的7个工作技巧】

导语: 在现代工作环境中,保持稳定的情绪是一项至关重要的技能。当我们遇到挑战、压力和严峻的工作条件时,情绪的稳定性对于我们的工作效率和心理健康至关重要。本文将分享七个实用的工作技巧,帮助你保持稳定的情绪并提升工作质量…

面对chatGPT,冷静比鸡血更重要!

这段时间 chatGPT 也算是疯狂的吸引眼球了。 看起来广告费没白花,不管说的对不对,反正说它一定要用**“颠覆”“天花板”“惊艳”“抢大多数人的饭碗”**之类的词。 再大一点的描述就是:留给人类的时间不多了。扼腕叹息、杞人类生存空间而忧…

springboot项目开启https协议

1、在windows以管理员身份运行cmd,输入如下命令生成证书 keytool -genkey -alias myhttps -keyalg RSA -keysize 2048 -validity 36500 -keystore "D:/tmp/ssl/myhttps.keystore"注释 命令:keytool -genkey -alias testhttps -keyalg RSA -keysize 204…

蓝牙资讯|苹果Beats Studio Pro耳机曝光,支持苹果和谷歌的查找功能

国外科技媒体9to5Mac曝光苹果Beats Studio Pro耳机,这款耳机配备了 2 个定制的 40 毫米驱动单元,即便是在最高音量下,也能确保不会失真。Beats Studio Pro 还将配备集成的数字处理器,该处理器“优化最终频率响应,以获得…

Jetpack 架构组件你了解多少?

本文是我在学习Jetpack的过程中做的一些记录,如有错误,欢迎指正 本文包含了 ViewModel、Lifecycles、LiveData、Room、WorkManager 的相关用法,你可以通过目录直接跳转到你想了解的地方 ViewModel 简单介绍下 ViewModel:ViewMode…

DataWhale: LLM+KG

https://mp.weixin.qq.com/s/MIi1WrAwfmqnXGlkQq8DqQ

硬件性能 - 网络瓶颈分析

简介 本文章主要通过Linux命令查看网络信息、判断是否出现网络瓶颈等简单分析方法。 目录 1. 监控命令 sar 2. 带宽利用率 3. 网络延迟 4. 网络连接数 5. 模拟网络故障 1. 监控命令 sar sar 命令实时查看网络情况(详细命令:Linux性能监控命令_sar …

靠着这份 Java 面试题跟答案,我从 14K 变成了 28K!

LZ 认为,对于 Java 面试以及进阶的最佳学习方法莫过于刷题博客书籍总结,前三者 LZ 将淋漓尽致地挥毫于这篇文章中,至于总结在于个人,实际上越到后面你会发现面试并不难,其次就是在刷题的过程中有没有去思考&#xff0c…

【QT】——事件处理系统

目录 1.事件介绍 2.QT事件的产生 3.事件处理函数 3.1鼠标事件 3.2键盘事件 3.3窗口重绘事件 3.4窗口关闭事件 3.5窗口大小变化事件 4. 重写事件处理函数 1.事件介绍 QT 程序是事件驱动的, 程序的每个动作都是由内部某个事件所触发。QT 事件的发生和处理 成为程序运行的…

数据质量管理之ETL中的挑战与解决方案

摘要:在数据驱动的时代,数据质量管理是企业成功的关键因素之一。在ETL(Extract, Transform, Load)过程中,数据质量问题可能会导致数据失真、决策错误和业务损失。本文将探讨ETL中常见的数据质量挑战,并提供…

CSS入门.

目录 基础入门基础语法 1.基础入门 什么是 CSS CSS 指层叠样式表(Cascading Style Sheets)样式通常存储在样式表中 为什么要使用 CSS 样式定义如何显示 HTML 元素为了解决内容与表现分离的问题主要目的:可以让相同的一个页面在不同的浏…

linux服务配置ssh免密

一、常用场景 1、我们经常使用scp命令在两台不同服务器之间进行文件传输,但每执行一次scp命令时,都需要输入一次密码;使用ssh命令远程连接另一台服务器时,也需要输入密码。频繁输入密码比较麻烦,ssh可帮助我们在两台服…

【python】array数组添加一行或一列数据

目录 0.环境 1.背景 2.具体实现 2.1思路 2.2具体实现 2.2.1 增加一列 2.2.2增加一行 3. 完整代码 0.环境 windows jupyter notebook跑代码 1.背景 在实现数据可视化的时候,用了numpy的array类型的数组,需要手动在最后增加一列数据,所以…

[oeasy]python0071_字符串类型_str_string_下标运算符_中括号

帮助手册 回忆上次内容 上次 分辨了 静态类型 语言动态类型 语言 python 属于 对类型要求 没有那么严格的 动态类型 语言 对 初学者很友好不过很多时候 也容易 弄不清变量类型 直接 修改代码 增强 程序的可读性把变量的类型 明确标记在 变量名上 就像 把缩进 作为程序块的分…

VisualSVN Server安装步骤

一.下载 官网:VisualSVN - Subversion-based version control for Windows 二.安装 双击安装 先创建好文件夹路径,建议放在同一个根目录下 三.安装成功,运行打开界面如图 四.创建项目 右键Repositories 选择Customize pemissions&#xff0…