学习地址1:https://pan.baidu.com/s/1wpfuPvDb4Y4BQEKPt7bc1A 提取码:q7xz 学习地址2:https://pan.baidu.com/s/1CYzDHRmYKDPb29MfKN0qlg 提取码:2jt4
今天给大家讲讲关于AI,打通视觉,NLP,机器学习,深度学习,推荐搜索,AIGC,大模型等等这些当下最热门技术,我将从以下9个方面给大家做详细讲解关于AI人工智能算法工程师的相关知识。
阶段一:从AI全面认知到基础夯实-行业认知&Python&必备数学 阶段二:从AI核心技术理论体系构建到项目实战: 机器学习&深度学习 阶段三:构建AI的数据驱动力--数据预处理工程 阶段四:AI 深度学习框架实战- Pytorch从基础到进阶 阶段五:AI核心算法+方法——经典深度学习模型实战 阶段六:AI计算机视觉核心技术与项目实战-工业&医疗与直播&自动驾驶等主流领域 阶段七:AIGC火热领域技术与项目-文本图像生成&扩散模型等 阶段八:NLP自然语言处理与LLM大语言模型应用实战 阶段九:AI工程师入行&转化&就业&面试指导
首先,我们先来说说什么是人工智能: 人工智能(Artificial Intelligence),简称为AI,是一门集多学科于一体的综合性技术科学。它的核心目的是创造出能够模拟人类思维能力的机器,使其具备感知、思考和决策的能力。
自然语言处理(Natural Language Processing,简称NLP)是计算机科学和人工智能领域的一个重要分支。它的核心目标是让计算机能够理解和生成人类自然语言,这包括了文本、语音等多种形式的人类语言输入输出。
机器学习是一门人工智能的科学,其核心在于计算机通过对数据的学习和经验积累来自动提升性能。
深度学习是机器学习的一个子领域,它受到人类大脑神经网络的启发,旨在模拟人类的学习过程。
生成式人工智能——AIGC(Artificial Intelligence Generated Content),是指基于生成对抗网络、大型预训练模型等人工智能的技术方法,通过已有数据的学习和识别,以适当的泛化能力生成相关内容的技术。
大模型是指包含超大规模参数(通常在十亿个以上)的神经网络模型。
接下来,我们讲解环境的安装配置:
安装CPU版本PyTorch
创建PyTorch环境
conda create -n torch2 python==3.10
进入环境
conda activate torch2
安装cpu版本pytorch
pip install torch==2.0.0 torchvision==0.15.1 torchaudio==2.0.1 --index-url https://download.pytorch.org/whl/cpu
验证CPU版是否安装成功 import torch
print(torch.version) print(torch.cuda.is_available())
输出 2.0.0+cpu False
Tensor存储的数值 Tensor 可以用多种方法进行初始化。下面给出例子:
直接传数据 Tensor可以直接从数据进行创建,数据类型会自动适应。 import torch
data = [[1, 2],[3, 4]] x_data = torch.tensor(data) print(x_data)
使用Numpy数据 可以通过Numpy矩阵中进行创建 import torch import numpy as np
np_array = np.array([[1,2], [3,4]]) x_np = torch.from_numpy(np_array) print(x_np)
利用已有tensor 根据已有的数据形式(形状,数据类型),创建出新的tensor
import torch
data = [[1, 2],[3, 4]] x_data = torch.tensor(data)
保持了 x_data 的数据属性与形状
x_ones = torch.ones_like(x_data) print(f"Ones Tensor: \n {x_ones} \n")
保持x_data的形状,重新定义 x_data 的数据属性
x_rand = torch.rand_like(x_data, dtype=torch.float) print(f"Random Tensor: \n {x_rand} \n")
最后到案例部分: 案例1:导入两个列表到Dataset 举一个例子, from torch.utils.data import Dataset, DataLoader
class MyDataset(Dataset): # 继承自Dataset def init(self, ): # 定义数据集包含了什么东西 self.x = [i for i in range(10)] self.y = [2*i for i in range(10)] def len(self): # 返回数据集的总长度 return len(self.x) def getitem(self, idx): #当数据集被读取时,需要返回的数据 return self.x[idx], self.y[idx]
my_dataset = MyDataset() my_dataloader = DataLoader(my_dataset)
for x_i, y_i in my_dataloader: print("x_i = ",x_i, " y_i = ",y_i)
输出 x_i = tensor([0]) y_i = tensor([0]) x_i = tensor([1]) y_i = tensor([2]) x_i = tensor([2]) y_i = tensor([4]) x_i = tensor([3]) y_i = tensor([6]) x_i = tensor([4]) y_i = tensor([8]) x_i = tensor([5]) y_i = tensor([10]) x_i = tensor([6]) y_i = tensor([12]) x_i = tensor([7]) y_i = tensor([14]) x_i = tensor([8]) y_i = tensor([16]) x_i = tensor([9]) y_i = tensor([18])
案例2:导入Excel数据到Dataset中 dataset只是一个类,因此数据可以从外部导入,我们也可以在dataset中规定数据在返回时进行更多的操作,数据在返回时也不一定是有两个。 from torch.utils.data import Dataset, DataLoader import pandas as pd class MyDataset(Dataset): # 继承自Dataset def init(self, data_loc): # 定义数据集包含了什么东西 data = pd.read_excel(data_loc) self.x1, self.x2, self.x3, self.x4, self.y = data['x1'], data['x2'], data['x3'], data['x4'], data['y']
def __len__(self): # 返回数据集的总长度
return len(self.x1)
def __getitem__(self, idx): #当数据集被读取时,需要返回的数据
return self.x1[idx],self.x2[idx],self.x3[idx],self.x4[idx], self.y[idx]
if name == 'main': data_loc = "模仿数据读取.xlsx" my_dataset = MyDataset(data_loc) my_dataloader = DataLoader(my_dataset, batch_size=2)
for x1_i,x2_i,x3_i,x4_i, y_i in my_dataloader:
print(f"x1_i={x1_i},x2_i={x2_i},x3_i={x3_i},x4_i={x4_i}, y_i={y_i}")