
机器学习
文章平均质量分 67
机器学习新手项目
橙意满满的西瓜大侠
一个普通学生
展开
-
手写数字识别学习记录(自用)
在分类问题中,通常使用 Softmax 函数作为输出层的激活函数,以便得到每个类别的预测概率。Dropout 可以减少神经元之间的共适应,使得模型不会过度依赖某些特定的神经元,从而提高模型的泛化能力。正则化通过约束参数的大小来控制模型复杂度,而 Dropout 通过随机丢弃神经元来增加模型的鲁棒性。28),Python 会把它当作一个普通的整数表达式,最终得到的是一个整数值 784,而不是一个元组。当元组中只有一个元素时,为了和普通的带括号的表达式区分开来,必须在元素后面加上逗号。原创 2025-02-14 23:55:41 · 325 阅读 · 0 评论 -
Pandas入门
可以加上index=[ ]参数或者直接传入字典作为参数,自动识别键值作为标签索引注意:用标签索引进行切片操作时,左闭右闭,即end是包含的如果标签索引也是整数的,则索引取值按照标签,切片时按照位置loc——用标签索引iloc——用位置索引查看某个标签是否存在:用in即可“青菜” in s3——返回True更改Series里的值:s3[“青菜”]=4.5,就会覆盖原来的值(等价于,s3.loc[“青菜”]=4.5)原创 2025-02-10 23:23:36 · 587 阅读 · 0 评论 -
NumPy入门
NumPy 是 Python 科学计算的基础库,提供了高效的多维数组和丰富的数学函数。原创 2025-02-10 13:19:20 · 794 阅读 · 0 评论 -
markdown语法
markdown语法原创 2025-02-09 23:04:45 · 79 阅读 · 0 评论 -
随机森林——预测最高温
气温是连续值,预测气温是回归的任务。原创 2025-01-14 22:57:52 · 824 阅读 · 0 评论 -
jupyter notebook练手项目:线性回归——学习时间与成绩的关系
pandas——数据分析库,提供了数据结构(如DataFrame和Series)和数据操作方法,方便对数据集进行读取、清洗、转换等操作。matplotlib——绘图库,pyplot提供了一系列简单易用的绘图函数,用于创建各种类型的图表,如折线图、散点图、柱状图等。%matplotlib inline——使matplotlib绘制的图像嵌入在 Jupyter Notebook 的单元格里,这样在运行代码后可以直接在 Notebook 中看到绘制的图形,而不是弹出一个新的图形窗口。原创 2025-01-13 15:10:41 · 1419 阅读 · 0 评论 -
Jupyter notebook入门教程
1、代码分成小块逐块运行,方便查看中间结果,调试和修改2、文档和代码结合,比普通的注释好看,使代码的可读性大大提高3、可以生成多种格式的报告,适合演示使用。原创 2025-01-13 10:01:54 · 653 阅读 · 0 评论 -
github深度学习项目复现教程
如何找感兴趣的项目?使用github或papers with code搜索关键词“deep learning”等,最受欢迎的是stars数最多的查看readme是否清晰地描述了项目目标、使用的技术、安装步骤和运行方法是否包含依赖项、所需数据集和训练模型等信息。原创 2024-12-05 15:34:25 · 1228 阅读 · 0 评论 -
完整的模型验证套路 pytorch
利用已经训练好的模型,给它提供输入。原创 2024-10-19 12:54:49 · 423 阅读 · 1 评论 -
利用GPU训练
"cuda" if torch.cuda.is_available() else "cpu" 防止因为没有GPU而报错。if torch.cuda.is_available(): 防止因为没有GPU而报错。在Edit的Notebook settings里可以修改硬件配置,选择GPU。参数可以写"cpu" "cuda" "cuda:0" "cuda:1"或。先定义device=torch.device("cuda")再加.to(device)直接加.cuda()原创 2024-10-19 11:07:42 · 202 阅读 · 0 评论 -
完整的模型训练套路 pytorch
1、(1).train():将模型设置为训练模式(2).eval():将模型设置为评估模式不写也可以(只对特定网络模型有作用,如含有Dropout的)2、:主要用于评估和推理,确保不会计算梯度,从而节省内存和加速计算。3、.item()的作用:将tensor型转为普通数值型当你有一个只有一个元素的张量时,可以使用.item()来提取这个值。4、如何由分类得分来计算正确率:[0.1,0.2],[0.3,0.4]]) #两个样本的二分类得分preds=原创 2024-10-17 20:57:04 · 329 阅读 · 0 评论 -
现有网络模型的修改和使用&&网络模型的保存与读取
以torchvision里的models模块里的vgg16网络模型为例:vgg16_false=torchvision.models.vgg16(weights=None) #表示不加载预训练权重vgg16_true=torchvision.models.vgg16(weights=VGG16_Weights.DEFAULT) #表示加载预训练权重添加新层:add_module#在classifier层级下,添加新模块(层),参数是(模块名,模块)修改现有的层:vgg_false.原创 2024-10-16 17:26:42 · 422 阅读 · 0 评论 -
反向传播和优化 pytorch
计算损失:result_loss=loss(outputs,targets)梯度清零:optim.计算梯度并反向传播:backward()更新参数:optim.step(): 在每次训练迭代之前清除所有优化器(如SGD、Adam等)维护的梯度信息。在神经网络中,每个参数(如权重和偏置)都有一个与之关联的梯度,这个梯度表示参数对损失函数的贡献程度。随着训练的进行,这些梯度会被累积,如果不加以重置,会导致梯度累加,从而影响模型的学习效果。因此,原创 2024-10-15 17:45:17 · 578 阅读 · 0 评论 -
损失函数pytorch
'mean'(默认)'sum'原创 2024-10-15 16:31:27 · 438 阅读 · 0 评论 -
搭建模型小实战
如图,cifar10 model structure :1、卷积:Conv2d(in_channels=3,out_channels=32,kernel_size=5,padding=2)将3通道变成32通道,即将3个特征图转变成32个特征图,共需要32个卷积核来提取特征。原创 2024-10-15 13:21:31 · 321 阅读 · 0 评论 -
线性层(全连接层)pytorch
通常,线性层后面会接一个非线性激活函数。这样,网络先做一次简单的转换(线性),然后用激活函数(非线性)添加一些复杂性。(即 output = activation(linear(input)) )2、在实践中,两者常常被视作同义词。FalseTrue(默认True,自动学习并添加偏置参数)这里,input_tensor形状为(3,4),意味着有3个样本(batch_size),每个样本有4个特征(输入张量的每一列通常代表一个特征)原创 2024-10-14 15:35:45 · 818 阅读 · 0 评论 -
非线性激活pytorch
1、self.sigmoid1=Sigmoid()output=self.sigmoid1(input)2、常见的非线性激活函数: 3、非线性激活的作用:线性函数:假设你用直线去描述波浪的形状。无论你怎么改变直线的斜率,结果都是一条直线,这样你就无法捕捉到波浪的起伏。这就像在神经网络中,如果只有线性激活函数,模型只能学习到线性关系,无法处理复杂的模式。非线性激活函数:现在,想象你可以用曲线来描绘波浪。这条曲线能够随着波浪的起伏而变化,能够很好地展现出波浪的复杂形状。这就类似于引入了非线性激活函数原创 2024-10-13 17:59:09 · 571 阅读 · 0 评论 -
最大池化pytorch
1、输入:张量的形状是(N,C,H,W)或(C,H,W)) – when True, will use ceil instead of floor to compute the output shape(True:向上取整,保留不足的部分;False:向下取整,去除不足一份的部分)2、池化的作用:从特征图中提取最有代表性的特征;防止过拟合,实现降维;保持平移不变性。(即保留重要特征,同时减少数据量,使模型训练得更快 eg: 1080P高清——>720P高清)原创 2024-10-13 17:43:30 · 628 阅读 · 0 评论 -
nn.Conv2d(二)
自动管理:这个模块会自动保存和更新卷积的权重(参数)每次使用时都要提供所有需要的参数,比如输入数据、卷积核的权重和偏置。原创 2024-10-10 23:43:14 · 529 阅读 · 0 评论 -
卷积的计算——nn.Conv2d(Torch.nn里的Convolution Layers模块里的Conv2d类)
张量:多维数组,用来表示数据(图像、视频等)通道:图像数据的一部分,表示不同的颜色或特征层通道只是张量的其中一个维度以一张RGB图像为例,该图像数据可以用一个三维张量(shape等于(C,H,W))来表示其中C表示通道数(对于RGB图像,C=3),H表示高度,W表示宽度再以一批64张图像组成的数据对象来看,它可以用一个四维张量(shape等于(N,C,H,W))来表示其中N表示批次大小(一批次图像的数量)原创 2024-10-10 20:05:00 · 625 阅读 · 0 评论 -
神经网络的基本骨架——nn.Module(torch.nn里的Containers模块里的Module类)
nn:neural network神经网络1、torch.nn:与神经网络有关的库Containers:torch.nn中的一个模块Module:所有神经网络模型的基础类(Base class for all neural network modules)注意:任何自定义的模型都应该继承自nn.Module,并实现__init__和forward方法,以定义模型的结构和前向传播的逻辑2、x=torch.tensor(1.0):将输入数据转为张量,因为模型期望收到张量(tensor)类型的输入。原创 2024-10-10 15:38:42 · 753 阅读 · 0 评论 -
DataLoader
PyTorch 提供的一个工具,用于批量加载数据集,支持多线程加载2、False表示在加载数据时不打乱顺序,True表示打乱顺序(shuffle:洗牌)True。原创 2024-10-10 14:58:32 · 327 阅读 · 0 评论 -
使用torchvision中的经典数据集
1、torchvision.datasets.CIFAR10:PyTorch 中的一个类,用于加载 CIFAR-10 数据集(CIFAR-10 是一个包含 60,000 张 32x32 彩色图像的数据库,分为 10 个类别)2、运行代码,在python控制台可以看到下载链接,复制下载链接,让迅雷来下载更快速3、这里的test_set元素类型是(PIL.Image,target),即一个数据对象=图片+标签target是分类的编号,共有十个类别,则target从0到9。原创 2024-10-10 14:42:52 · 267 阅读 · 0 评论 -
Transforms(二)
1、归一化是干什么的:对图像数据进行预处理,以确保输入模型的数据在相同的尺度上2、为什么需要归一化:为了消除奇异值,将数据缩放到一个小范围,这样梯度下降得更快,更容易求解3、将图像的每个通道(RGB,共3个通道)按特定的均值和标准差进行归一化mean和std的值是通常在 ImageNet 数据集上计算得出)原创 2024-10-09 18:29:25 · 763 阅读 · 0 评论 -
Transforms(一)
transforms就像是一个工具箱,里面装有很多类 (比如:totensor、resize等,可以在结构里查看到一个列表),类就是工具。但是类不能直接使用,要创建其实例对象之后才能调用(tool=transforms.ToTensor())而实例对象名(参数)这种形式可以自动调用call方法,进行工具的使用。补充: call方法可以使对象具有当作函数的功能,当你调用对象实例并且参数满足条件时,就会自动调用call方法(说白了就是先实例化,满足条件后自动调用call方法)原创 2024-10-08 21:29:40 · 380 阅读 · 0 评论 -
TensorBoard
TensorBoard可以看作是一个“训练监控仪表盘”,可以将训练过程中的数据可视化,让你通过图表直观地看到模型的表现,识别问题,并进行调试和优化。TensorFlow是用来训练模型的深度学习框架,在使用tensorflow训练模型时,可以通过tensorboard来对数据进行可视化,帮助优化模型。Pytorch也是一种深度学习框架。(一些项目可能会在研究阶段使用 PyTorch,随后在生产环境中使用 TensorFlow)原创 2024-10-07 23:15:51 · 857 阅读 · 0 评论 -
pytorch导入数据集
Dataset:一种数据结构,存储数据及其标签Dataloader:一种工具,可以将Dataset里的数据分批、打乱、批量加载并进行迭代等(方便模型训练和验证)Dataset就像一个大书架,存放着带有标签的数据书籍,并且这些书有编号(0,1,2...);而Dataloader就像一个图书管理员,负责从书架上按需取出书籍并分批提供给读者。原创 2024-10-07 21:08:20 · 932 阅读 · 0 评论 -
深度学习环境安装
pytorch/tensorflow库,调用cuda runtime version,接着cuda调用驱动(cuda driver version),最后驱动又调用GPU显卡。原创 2024-10-07 00:40:06 · 937 阅读 · 0 评论