今天给大家讲讲关于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}")