华为云CodeLab中GPU: 1*P100|CPU: 8核 64GB的显卡驱动与cuda版本
在CodeLab 和 GoogleLab中创建虚拟环境并激活
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed ImportError: DLL load failed: 找不到指定的模块。
机器学习的基本任务 监督学习 监督学习任务的特点是给定学习目标(这个学习目标又称为标签、标注或实际值等),整个学习过程围绕如何预测与目标更接近而展开。监督学习的主要内容有目标检测、目标识别、图像分割、二分类、多分类、多标签分类等。无监督学习在实际生活中,有很多数据是没有标签的或者标签代价很高,但是这些没有标签的数据也可能包含很重要的规则或信息,从这类数据中学习到一个规则或规律的过程被称
数据下载和预处理是机器学习、深度学习实际项目中耗时又重要的任务,尤其是数据预处理,关系到数据质量和模型性能,往往要占据项目的大部分时间。PyTorch提供了专门的数据下载,数据处理包,可以极大提高开发效率及数据质量。数据处理工具箱概述 torch.utils.data工具包:Dataset:一个抽象类,其他数据集需要继承这个类,并且覆盖其中的两个方法(__getitem__、__len__)
训练模型构建模型后,接下来就是训练模型。PyTorch训练模型的主要步骤包括加载和预处理数据集、损失计算、定义优化算法、反向传播、参数更新等主要步骤。1)加载和预处理数据集:可以使用PyTorch的数据处理工具,如torch.utils和torchvision等。2)定义损失函数:通过自定义的方法或使用PyTorch内置的损失函数定义,如回归使用nn.MSELoss(),分类使用nn.BCELos
神经网络核心组件利用PyTorch神经网路工具箱设计神经网络就像搭积木一样,可以极大简化构建模型的任务。神经网络核心组件如下:层:神经网络的基本结构,将输入张量转换为输出张量。模型:由层构成的网络。损失函数:参数学习的目标函数,通过最小化损失函数来学习各种参数。优化器:如在使损失值最小时,就会涉及优化器。这些核心组件并不是相互独立的,它们之间的相互关系如下图所示:多个层连接在一起构成一个模型或网络
使用NumPy实现机器学习任务使用最原始的的NumPy实现一个有关回归的机器学习任务,不使用PyTorch中的包或类。代码可能会多一点,但每一步都是透明的,有利于理解每一步的工作原理。主要步骤如下:1)首先,给出一个数组x,然后基于表达式 y = 3x^2 + 2,加上一些噪声数据到达另一组数据。2)然后,构建一个机器学习模型,学习表达式 y = ax^2 + b 的两个参数a、b。利用数组x、y
Tensor与autograd神经网络中的一个重要内容就是参数学习,而参数学习离不开求导,PyTorch中的torch.autograd包就是用来自动求导的。autograd包为张量上的所有操作提供了自动求导的功能,torch.Tensor和torch.Function为autograd包的两个核心类,它们相互连接形成一个有向非循环图。自动求导要点(注:代码手动敲完后,更容易理解。)autogra
逐元素操作Tensor中也有逐元素操作,大部分的数学运算都属于逐元素操作,逐元素操作的输入与输出的形状相同。常见的逐元素操作可参考下表:abs/add:绝对值/加法addcdiv(t, t1, t2, value=1):t1与t2按元素除后,乘以value加t,即 t+(t1/t2)*valueaddcmul(t, t1, t2, value=1):t1与t2按元素乘后,乘以value加t,即t+
NumPy 与 TensorTensor为神经网络界的NumPy,与NumPy相似。相同之处:二者均可共享内存,它们之间的转换非常方便和高效。不同之处:NumPy会把ndarray放在CPU中加速。 Tensor会把ndarray放在GPU中加速。PyTorch中的Tensor可以是零维(又称为标量或一个数)、一维、二维及多维的数组。标量(scalar):一个数值,零维数
PyTorch是Facebook团队于2017年1月发布的一个深度学习框架。PyTorch采用Python语言接口来实现编程,就像带GPU的NumPy,与Python 一样属于动态框架。PyTorch继承了Torch灵活、动态的编程环境和用户友好等特点,支持以快速与灵活的方式构建动态神经网络,还允许在训练过程中快速更改代码而不妨碍其性能,支持动态图形等尖端AI模型的功能。 为何选择PyTor
通用函数NumPy提供了两种基本的对象:ndarray 和 ufunc。ufunc是一种能对数组中每一个元素进行操作的函数(用C语言实现)。math模块的输入:标量。NumPy中函数的输入:向量或矩阵(避免使用for循环,节省时间)。NumPy的常用通用函数sqrt():计算序列化数据的平方根 sin()、cos():三角函数abs():计算序列化数据的绝对值dot():点击运算log(
批处理(mini-batch)批处理可以充分发挥GPU、NumPy平行处理的优势。应用:计算梯度的随机梯度下降(Stochastic Gradient Descent, SGD)大数据拆分成多个批次:得到数据集;随机打乱数据;定义批大小;批处理数据集;import numpy as np # 产生10个值在[1, 5)的随机数 a = np.random.randint(low=1, high=
数组变形不同模型接收的输入格式不一样,我们需要将数据处理成符合模型要求的格式。修改数组的形状arr.reshape()arr.reshape():重新对向量arr维度进行改变,不修改向量本身# reshape函数 import numpy as np # 生成范围在[0, 10),步长为1的整数 arr = np.arange(10) print("*"*10+" arr "+"*"*10) p
读取数据 import numpy as np np.random.seed(2019) # 生成10个随机数:[0.0, 1.0) nd1 = np.random.random([10]) # 列表 print(nd1) nd2 = np.random.random((10)) # 元组 print(nd2) nd3 = np.r
NumPy基础知识
VS Code插件GitLens的手动下载-新手
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号