椰皮糖
码龄6年
关注
提问 私信
  • 博客:86,319
    86,319
    总访问量
  • 36
    原创
  • 53,850
    排名
  • 301
    粉丝
  • 0
    铁粉
  • 学习成就
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2019-04-07
博客简介:

shencanggang的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    3
    当前总分
    258
    当月
    3
个人成就
  • 获得325次点赞
  • 内容获得18次评论
  • 获得495次收藏
  • 代码片获得105次分享
创作历程
  • 23篇
    2024年
  • 13篇
    2023年
成就勋章
TA的专栏
  • 深度学习
    23篇
  • 数据结构
    1篇
  • LeetCode刷题
    4篇
  • springcloud微服务学习
    5篇
兴趣领域 设置
  • Python
    python
  • Java
    java
  • 后端
    spring boot后端spring cloud
  • 人工智能
    机器学习人工智能深度学习
创作活动更多

AI大模型如何赋能电商行业,引领变革?

如何使用AI技术实现购物推荐、会员分类、商品定价等方面的创新应用?如何运用AI技术提高电商平台的销售效率和用户体验呢?欢迎分享您的看法

186人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

23.现有网络模型的使用及修改

本节主要讲解与图像相关的 torchvision本节主要讲解 Classification 里的 VGG 模型,数据集仍为 CIFAR10 数据集(主要用于分类)
原创
发布博客 2024.08.29 ·
989 阅读 ·
24 点赞 ·
0 评论 ·
10 收藏

22.优化器

当使用损失函数时,可以调用损失函数的 backward,得到反向传播,反向传播可以求出每个需要调节的参数对应的梯度,有了梯度就可以利用优化器,优化器根据梯度对参数进行调整,以达到整体误差降低的目的。
原创
发布博客 2024.08.29 ·
493 阅读 ·
5 点赞 ·
0 评论 ·
6 收藏

21.损失函数与反向传播

torch.nn 里的 loss function 衡量误差,在使用过程中根据需求使用,注意输入形状和输出形状即可loss 衡量实际神经网络输出 output 与真实想要结果 target 的差距,越小越好计算实际输出和目标之间的差距为我们更新输出提供一定的依据(反向传播):给每一个卷积核中的参数提供了梯度 grad,采用反向传播时,每一个要更新的参数都会计算出对应的梯度,优化过程中根据梯度对参数进行优化,最终达到整个 loss 进行降低的目的。
原创
发布博客 2024.08.29 ·
1367 阅读 ·
27 点赞 ·
0 评论 ·
25 收藏

20.神经网络 - 搭建小实战和 Sequential 的使用

在 PyTorch 中,Sequential 是一个容器(container)类,用于构建神经网络模型。它允许你按顺序(sequential)添加不同的网络层,并将它们串联在一起,形成一个网络模型。这样做可以方便地定义简单的前向传播过程,适用于许多基本的网络结构。Sequential 的优点之一是其简洁性和易读性,特别适用于简单的网络结构。然而,对于更复杂的模型,可能需要使用 PyTorch 的其他模型构建方式,如使用 nn.Module 基类自定义网络结构,以满足更灵活的需求。
原创
发布博客 2024.08.29 ·
1263 阅读 ·
19 点赞 ·
0 评论 ·
16 收藏

19.神经网络 - 线性层及其他层介绍

对输入采用Batch Normalization,可以加快神经网络的训练速度。
原创
发布博客 2024.08.29 ·
1214 阅读 ·
17 点赞 ·
0 评论 ·
12 收藏

18.神经网络 - 非线性激活

输入:(N,*) N 为 batch_size,*不限制可以是任意。输入:(N,*) N 为 batch_size,*不限制。
原创
发布博客 2024.08.29 ·
498 阅读 ·
5 点赞 ·
0 评论 ·
5 收藏

17.神经网络 - 最大池化的使用

最大池化的目的是保留输入的特征,同时把数据量减小(数据维度变小),对于整个网络来说,进行计算的参数变少,会训练地更快,(池化最大的作用是增大感受野,让后面的卷积看到更全局的内容。池化一般跟在卷积后,卷积层是用来提取特征的,一般有相应特征的位置是比较大的数字,最大池化可以提取出这一部分有相应特征的信息。( 注意,卷积中stride默认为1,而池化中stride默认为kernel_size )Ceil_mode = False 为例运行输出:(运行结果如下:)(以 Ceil_mode = True 为例)
原创
发布博客 2024.08.29 ·
563 阅读 ·
11 点赞 ·
0 评论 ·
20 收藏

16.神经网络 - 卷积层

pytorch官网网站卷积层(Convolution Layers):Convolution Layers。
原创
发布博客 2024.08.29 ·
1369 阅读 ·
10 点赞 ·
0 评论 ·
18 收藏

15.土堆说卷积操作(stride、padding)

当 stride = 2 时,横向和纵向都是2,输出是一个2×2的矩阵。
原创
发布博客 2024.08.29 ·
612 阅读 ·
5 点赞 ·
0 评论 ·
10 收藏

14.神经网络的基本骨架 - nn.Module 的使用

Pytorch官网左侧:Python API(相当于package,提供了一些不同的工具)
原创
发布博客 2024.08.29 ·
631 阅读 ·
4 点赞 ·
0 评论 ·
8 收藏

13.DataLoader 的使用

dataset:只有dataset没有默认值,只需要将之前自定义的dataset实例化,再放到dataloader中即可batch_size:每次抓牌抓几张shuffle:打乱与否,值为True的话两次打牌时牌的顺序是不一样。默认为False,但一般用Truenum_workers:加载数据时采用单个进程还是多个进程,多进程的话速度相对较快,默认为0(主进程加载)。Windows系统下该值>0会有问题(报错提示:BrokenPipeError)
原创
发布博客 2024.08.29 ·
1408 阅读 ·
13 点赞 ·
0 评论 ·
14 收藏

12.torchvision中的数据集使用

CIFAR10 数据集包含了6万张32×32像素的彩色图片,图片有10个类别,每个类别有6千张图像,其中有5万张图像为训练图片,1万张为测试图片。
原创
发布博客 2024.08.29 ·
776 阅读 ·
11 点赞 ·
0 评论 ·
19 收藏

11.常见的Transforms(二)

Compose() 中的参数需要是一个列表,Python中列表的表示形式为[数据1,数据2,…]在Compose中,数据需要是transforms类型,所以得到Compose([transforms参数1,transforms参数2,…])参数1的输出类型必须与参数2的输入类型匹配。因为compose的工作顺序是从左到右的,第一个参数transform介绍之后再进行第二个transform的操作,所以需要前一个的输出和后一个的输入匹配。参数需要输入想要裁剪成的图片大小。
原创
发布博客 2024.06.27 ·
1535 阅读 ·
15 点赞 ·
0 评论 ·
23 收藏

10.常见的Transforms(一)

我们以图像举例子,不同的图片之间数据分布差异是很大的,有些图片的像素值普遍偏大,而有些图片的像素值偏小。③编写代码,使用Python自带的图片打开方式,然后运行UsefulTransforms,控制台可以看到该图片是PIL格式,大小是889x500,接下来介绍Transforms。使用归一化的目的是将输入数据进行标准化,使输入的数据具有相似的分布。所以在将不同的图片送给神经网络进行推理之前,我们也需要对不同的图片中数据分布进行归一化,以纠正不同图片样本之间的数据偏差,从而使得模型更好地完成推理。
原创
发布博客 2024.06.11 ·
1223 阅读 ·
32 点赞 ·
0 评论 ·
27 收藏

9.Transforms的使用(一)(二)

可以理解为,transforms.py是一个工具箱,里面有很多工具,像ToTensor/Resize等,可以将这些工具看成模板,利用这些模板来创建我们需要的工具,根据这些工具的使用方法,输入数据,输出结果。Tensor 数据类型包装了反向神经网络所需要的一些理论基础的参数**,如:_backward_hooks、_grad等**(先转换成Tensor数据类型,再训练)从transforms中选择一个class,首先对它创建,根据创建的工具知道需要什么东西,返回出结果。(1)transforms该如何使用;
原创
发布博客 2024.06.11 ·
812 阅读 ·
15 点赞 ·
0 评论 ·
8 收藏

8.TensorBoard的使用(二)

这两个的title都是test,在一个title下,通过滑块显示每一步的图形,可以直观地观察训练中给model提供了哪些数据,或者想对model进行测试时,可以看到每个阶段的输出结果。这里需要额外注意一点,图片的shape,从PIL到numpy型,需要在add_image()中指定每一个数字/维表示的含义。先复制一下第一张图片的相对路径,因为该图片文件夹就在项目文件夹所在的位置,故只需复制相对地址。可以看到该图片是PIL.格式,不符合add_image()要求。运行该python文件,然后刷新一下事件。
原创
发布博客 2024.06.11 ·
402 阅读 ·
4 点赞 ·
0 评论 ·
5 收藏

7.TensorBoard的使用(一)

TensorBoard是Google开发的一个机器学习可视化工具。
原创
发布博客 2024.06.11 ·
957 阅读 ·
11 点赞 ·
0 评论 ·
25 收藏

6.Dataset类代码实战

ants_label里面存储txt文件,每个txt文件命名对应一张ants_image里的图片,txt里面存储真正的label,bees_label同理。ants_label里面存储txt文件,每个txt文件命名对应一张ants_image里的图片,txt里面存储真正的label,bees_label同理。当label比较复杂,存储数据比较多时,不可能以文件夹命名的方式,而是以每张图片对应一个txt文件,txt里存储label信息的方式.(注意,路径引号前加 r 可以防止转义,或使用双斜杠)
原创
发布博客 2024.06.11 ·
327 阅读 ·
5 点赞 ·
0 评论 ·
8 收藏

5.pytorch加载数据初认识

对于神经网络训练,要从数据海洋里找到有用的数据。
原创
发布博客 2024.06.11 ·
454 阅读 ·
3 点赞 ·
1 评论 ·
7 收藏

4.pycharm及jupyter使用对比

PyCharm:代码是以块为一个整体运行的话,Python文件的块是所有行的代码,即在PyCharm运行时出现错误时,修改后要从头开始运行PyCharm的Python控制台:PyCharm的Python控制台是一行一行代码运行的,即以每一行为一个块来运行的(也可以以任意行为块运行,按Shift+回车,输入下一行代码,再按回车运行)优点:Python控制台可以看到每个变量的属性缺点:出现错误后代码的可阅读性大大降低使用时间:一般调试时使用。
原创
发布博客 2024.06.11 ·
1299 阅读 ·
5 点赞 ·
0 评论 ·
7 收藏
加载更多