paddlepaddle个人笔记
基于paddle框架学习深度学习,内容都是百度AIstudio的内容,我只是在这里做个笔记,不是原创。
Heisenberg_888
互联网工程师,努力学习中
展开
-
林业病虫害数据集和数据预处理方法介绍
内容都是百度AIstudio的内容,我只是在这里做个笔记,不是原创。林业病虫害数据集和数据预处理方法介绍在本次的课程中,将使用百度与林业大学合作开发的林业病虫害防治项目中用到昆虫数据集,关于该项目和数据集的更多信息,可以参考相关报道。在这一小节中将为读者介绍该数据集,以及计算机视觉任务中常用的数据预处理方法。读取AI识虫数据集标注信息AI识虫数据集结构如下:提供了2183张图片,其中训练集1693张,验证集245,测试集245张。 包含7种昆虫,分别是Boerner、Lecont.原创 2020-06-27 18:22:55 · 4239 阅读 · 6 评论 -
目标检测基础概念
内容都是百度AIstudio的内容,我只是在这里做个笔记,不是原创。对计算机而言,能够“看到”的是图像被编码之后的数字,但它很难解高层语义概念,比如图像或者视频帧中出现目标的是人还是物体,更无法定位目标出现在图像中哪个区域。目标检测的主要目的是让计算机可以自动识别图片或者视频帧中所有目标的类别,并在该目标周围绘制边界框,标示出每个目标的位置,如图1所示。图1(a)是图像分类任务,只需识别出这是一张斑马的图片。 图1(b)是目标检测任务,不仅要识别出这是一张斑马的图片,还要标出...原创 2020-06-27 09:16:18 · 986 阅读 · 0 评论 -
Numpy介绍
https://aistudio.baidu.com/aistudio/projectdetail/594208转载 2020-06-26 17:28:15 · 181 阅读 · 0 评论 -
完成电影推荐任务并验证
内容都是百度AIstudio的内容,我只是在这里做个笔记,不是原创。训练并保存好模型,我们可以开始实践电影推荐了,推荐方式可以有多种,比如:根据一个电影推荐其相似的电影。 根据用户的喜好,推荐其可能喜欢的电影。 给指定用户推荐与其喜好相似的用户喜欢的电影。这里我们实现第二种推荐方式,另外两种留作实践作业。根据用户喜好推荐电影在前面章节,我们已经完成了神经网络的设计,并根据用户对电影的喜好(评分高低)作为训练指标完成训练。神经网络有两个输入,用户数据和电影数据,通过神经网络提..原创 2020-06-24 17:26:00 · 1613 阅读 · 0 评论 -
推荐系统——模型训练与特征保存
内容都是百度AIstudio的内容,我只是在这里做个笔记,不是原创。启动训练前,复用前面章节的数据处理和神经网络模型代码import randomimport numpy as npfrom PIL import Imageimport paddle.fluid as fluidimport paddle.fluid.dygraph as dygraphfrom paddle.fluid.dygraph import Linear, Embedding, Conv2D, Pool2.原创 2020-06-23 16:35:42 · 2152 阅读 · 0 评论 -
numpy或pandas中reshape(-1)等用法
https://www.lizenghai.com/archives/20791.htmlreshape(-1)或reshape(1,-1)将数组横向平铺转载 2020-06-22 17:02:03 · 407 阅读 · 0 评论 -
np.squeeze()函数
https://blog.csdn.net/fred_18/article/details/92688903转载 2020-06-22 09:44:45 · 278 阅读 · 0 评论 -
电影推荐模型设计
内容都是百度AIstudio的内容,我只是在这里做个笔记,不是原创。神经网络模型设计是电影推荐任务中重要的一环。它的作用是提取图像、文本或者语音的特征,利用这些特征完成分类、检测、文本分析等任务。在电影推荐任务中,我们将设计一个神经网络模型,提取用户数据、电影数据的特征向量,然后计算这些向量的相似度,利用相似度的大小去完成推荐。根据第一章中对建模思路的分析,神经网络模型的设计包含如下步骤:分别将用户、电影的多个特征数据转换成特征向量。 对这些特征向量,使用全连接层或者卷积层进一步提取特征.原创 2020-06-18 10:51:13 · 2846 阅读 · 0 评论 -
推荐系统之数据处理与读取
内容都是百度AIstudio的内容,我只是在这里做个笔记,不是原创。数据集回顾在进行数据处理前,我们先回顾下本章使用的ml-1m电影推荐数据集。ml-1m是GroupLens Research从MovieLens网站上收集并提供的电影评分数据集。包含了6000多位用户对近3900个电影的共100万条评分数据,评分均为1~5的整数,其中每个电影的评分数据至少有20条。该数据集包含三个数据文件,分别是:users.dat,存储用户属性信息的文本格式文件。 movies.dat,存储电影属性信息原创 2020-06-16 10:16:30 · 2204 阅读 · 2 评论 -
推荐系统的基本概念
内容都是百度AIstudio的内容,我只是在这里做个笔记,不是原创。构建推荐系统本质上是要解决“5w”的问题。如下图示例,当用户在晚间休闲,上网阅读小说时,在阅读的军事小说下方,向他推荐三国志游戏,并给出推荐理由“纸上谈兵不如亲身实践”。这是一个较好的推荐案例,很多军迷用户会下载游戏试玩。但反之,如果在用户白天开会投屏时,弹出提示框向用户推荐“巴厘岛旅游”,会给在场的同事留下不认真工作的印象,用户也会非常的恼火。可见,除了向谁(Who)推荐什么(What)之外,承载推荐的产品形式(Whe..原创 2020-06-14 10:13:49 · 919 阅读 · 0 评论 -
衡量两个向量相似度的方法:余弦相似度
https://blog.csdn.net/yexiaohhjk/article/details/94405093转载 2020-06-13 16:36:06 · 1152 阅读 · 0 评论 -
使用LSTM完成情感分析任务
内容都是百度AIstudio的内容,我只是在这里做个笔记,不是原创。借助长短时记忆网络,我们可以非常轻松地完成情感分析任务。如图8所示。对于每个句子,我们首先通过截断和填充的方式,把这些句子变成固定长度的向量。然后,利用长短时记忆网络,从左到右开始阅读每个句子。在完成阅读之后,我们使用长短时记忆网络的最后一个输出记忆,作为整个句子的语义信息,并直接把这个向量作为输入,送入一个分类层进行分类,从而完成对情感分析问题的神经网络建模。使用飞桨实现基于LSTM的情感分析模型接下来...原创 2020-06-11 16:46:56 · 2373 阅读 · 0 评论 -
自然语言情感分析
内容都是百度AIstudio的内容,我只是在这里做个笔记,不是原创。在学习本节课内容前,让我们先看一段来自肥伦秀的视频片段,感受下人类语言情感的复杂性。众所周知,人类自然语言中包含了丰富的情感色彩:表达人的情绪(如悲伤、快乐)、表达人的心情(如倦怠、忧郁)、表达人的喜好(如喜欢、讨厌)、表达人的个性特征和表达人的立场等等。利用机器自动分析这些情感倾向,不但有助于帮助企业了解消费者对其产品的感受,为产品改进提供依据;同时还有助于企业分析商业伙伴们的态度,以便更好地进行商业决策。简单的说,我们可以.原创 2020-06-11 11:09:18 · 933 阅读 · 0 评论 -
word2vec(skip-gram)
内容都是百度AIstudio的内容,我只是在这里做个笔记,不是原创。Skip-gram的理想实现使用神经网络实现Skip-gram中,模型接收的输入应该有2个不同的tensor:Skip-gram的实际实现原创 2020-06-09 15:55:23 · 250 阅读 · 0 评论 -
自然语言处理词向量word2vec
内容都是百度AIstudio的内容,我只是在这里做个笔记,不是原创。使用飞桨探索自然语言处理接下来,让我们一起探索几个经典的自然语言处理任务,包括:计算词语之间的关系(如同义词):word2vec 理解一个自然语言句子:文本分类和相似度计算一般来说,使用飞桨完成自然语言处理任务时,都可以遵守一个相似的套路,如图10所示。...原创 2020-06-09 10:02:37 · 872 阅读 · 1 评论 -
GoogLeNet识别眼疾iChallenge-PM
内容都是百度AIstudio的内容,我只是在这里做个笔记,不是原创。GoogLeNet是2014年ImageNet比赛的冠军,它的主要特点是网络不仅有深度,还在横向上具有“宽度”。由于图像信息在空间尺寸上的巨大差异,如何选择合适的卷积核大小来提取特征就显得比较困难了。空间分布范围更广的图像信息适合用较大的卷积核来提取其特征,而空间分布范围较小的图像信息则适合用较小的卷积核来提取其特征。为了解决这个问题,GoogLeNet提出了一种被称为Inception模块的方案。如图4所示:说明:Goog..原创 2020-06-08 15:45:18 · 565 阅读 · 0 评论 -
VGG识别眼疾iChallenge-PM
内容都是百度AIstudio的内容,我只是在这里做个笔记,不是原创。VGG是当前最流行的CNN模型之一,2014年由Simonyan和Zisserman提出,其命名来源于论文作者所在的实验室Visual Geometry Group。AlexNet模型通过构造多层网络,取得了较好的效果,但是并没有给出深度神经网络设计的方向。VGG通过使用一系列大小为3x3的小尺寸卷积核和pooling层构造深度卷积神经网络,并取得了较好的效果。VGG模型因为结构简单、应用性极强而广受研究者欢迎,尤其是它的网络结构设计方原创 2020-06-08 11:00:07 · 1034 阅读 · 0 评论 -
AlexNet识别眼疾iChallenge-PM
内容都是百度AIstudio的内容,我只是在这里做个笔记,不是原创。AlexNet通过上面的实际训练可以看到,虽然LeNet在手写数字识别数据集上取得了很好的结果,但在更大的数据集上表现却并不好。自从1998年LeNet问世以来,接下来十几年的时间里,神经网络并没有在计算机视觉领域取得很好的结果,反而一度被其它算法所超越,原因主要有两方面,一是神经网络的计算比较复杂,对当时计算机的算力来说,训练神经网络是件非常耗时的事情;另一方面,当时还没有专门针对神经网络做算法和训练技巧的优化,神经网络的收敛性是原创 2020-06-07 17:34:41 · 740 阅读 · 0 评论 -
LeNet识别眼疾iChallenge-PM
内容都是百度AIstudio的内容,我只是在这里做个笔记,不是原创。# -*- coding: utf-8 -*-import cv2import randomimport numpy as np# 对读入的图像数据进行预处理def transform_img(img): # 将图片尺寸缩放道 224x224 img = cv2.resize(img, (224, 224)) # 读入的图像数据格式是[H, W, C] # 使用转置操作将其变成[C, H,原创 2020-06-07 16:50:24 · 995 阅读 · 0 评论 -
Python之xlsx文件转csv文件
import pandas as pd import xlrdimport csvdata_xls = pd.read_excel('/home/aistudio/work/palm/PALM-Validation-GT/PM_Label_and_Fovea_Location.xlsx', index_col=0)data_xls.to_csv('/home/aistudio/work/palm/PALM-Validation-GT/labels.csv', encoding='utf-8').原创 2020-06-07 16:42:49 · 344 阅读 · 0 评论 -
图像分类
内容都是百度AIstudio的内容,我只是在这里做个笔记,不是原创。图像分类是根据图像的语义信息对不同类别图像进行区分,是计算机视觉中重要的基础问题,是物体检测、图像分割、物体跟踪、行为分析、人脸识别等其他高层次视觉任务的基础。图像分类在许多领域都有着广泛的应用,如:安防领域的人脸识别和智能视频分析等,交通领域的交通场景识别,互联网领域基于内容的图像检索和相册自动归类,医学领域的图像识别等。上一节主要介绍了卷积神经网络常用的一些基本模块,本节将基于眼疾分类数据集iChallenge-PM,对图像分类原创 2020-06-06 15:54:06 · 4004 阅读 · 0 评论 -
卷积神经网络基础2
内容都是百度AIstudio的内容,我只是在这里做个笔记,不是原创。批归一化方法(Batch Normalization,BatchNorm)是由Ioffe和Szegedy于2015年提出的,已被广泛应用在深度学习中,其目的是对神经网络中间层的输出进行标准化处理,使得中间层的输出更加稳定。通常我们会对神经网络的数据进行标准化处理,处理后的样本数据集满足均值为0,方差为1的统计分布,这是因为当输入数据的分布比较固定时,有利于算法的稳定和收敛。对于深度神经网络来说,由于参数是不断更新的,即使输入数据已经原创 2020-06-06 11:07:28 · 348 阅读 · 0 评论 -
卷积神经网络基础
内容都是百度AIstudio的内容,我只是在这里做个笔记,不是原创。本章将重点介绍计算机视觉的经典模型(卷积神经网络)和两个典型任务(图像分类和目标检测)。主要涵盖如下内容: 卷积神经网络:卷积神经网络(Convolutional Neural Networks, CNN)是计算机视觉技术最经典的模型结构。本教程主要介绍卷积神经网络的常用模块,包括:卷积、池化、ReLU、批归一化、Dropout等。 图像分类:介绍图像分类算法的经典模型结构,包括:LeNet、AlexNet、VGG、Go原创 2020-06-04 10:48:59 · 1366 阅读 · 0 评论 -
手写数字识别之模型加载及恢复训练
内容都是百度AIstudio的内容,我只是在这里做个笔记,不是原创。在快速入门中,我们已经介绍了将训练好的模型保存到磁盘文件的方法。应用程序可以随时加载模型,完成预测任务。但是在日常训练工作中我们会遇到一些突发情况,导致训练过程主动或被动的中断。如果训练一个模型需要花费几天的训练时间,中断后从初始状态重新训练是不可接受的。万幸的是,飞桨支持从上一次保存状态开始训练,只要我们随时保存训练过程中的模型状态,就不用从初始状态重新训练。为了演示这个特性,下面训练程序使用adam优化器,学习率以多项.原创 2020-06-03 15:33:24 · 487 阅读 · 0 评论 -
随机梯度下降
在机器学习算法中,有时候需要对原始的模型构建损失函数,然后通过优化算法对损失函数进行优化,以便寻找到最优的参数,使得损失函数的值最小。而在求解机器学习参数的优化算法中,使用较多的就是基于梯度下降的优化算法(Gradient Descent, GD)。优缺点 优点:效率。在梯度下降法的求解过程中,只需求解损失函数的一阶导数,计算的代价比较小,可以在很多大规模数据集上应用 缺点:求解的是局部最优值,即由于方向选择的问题,得到的结果不一定是全局最优 ...转载 2020-06-03 10:38:10 · 269 阅读 · 0 评论 -
手写数字识别之训练调试与优化
内容都是百度AIstudio的内容,我只是在这里做个笔记,不是原创。上一节我们研究了资源部署优化的方法,通过使用单GPU和分布式部署,提升模型训练的效率。本节我们依旧横向展开"横纵式",如图1所示,探讨在手写数字识别任务中,为了保证模型的真实效果,在模型训练部分,对模型进行一些调试和优化的方法。...原创 2020-06-03 09:52:06 · 1370 阅读 · 2 评论 -
手写数字识别之多GPU训练
内容都是百度AIstudio的内容,我只是在这里做个笔记,不是原创。单GPU训练# 加载相关库import osimport randomimport paddleimport paddle.fluid as fluidfrom paddle.fluid.dygraph.nn import Conv2D, Pool2D, FCimport numpy as npfrom PIL import Imageimport gzipimport json# 定义数据集读取器def原创 2020-06-02 17:20:33 · 1079 阅读 · 0 评论 -
手写数字识别优化算法——训练模型
内容都是百度AIstudio的内容,我只是在这里做个笔记,不是原创。原创 2020-06-02 16:12:37 · 1068 阅读 · 0 评论 -
手写数字识别优化算法——学习率
内容都是百度AIstudio的内容,我只是在这里做个笔记,不是原创。在深度学习神经网络模型中,通常使用标准的随机梯度下降算法更新参数,学习率代表参数更新幅度的大小。当学习率最优时,模型的有效容量(可以看看这篇博文https://blog.csdn.net/lyxleft/article/details/85942508)最大。学习率设置和当前深度学习任务有关,合适的学习率往往需要调参经验和大量的实验,总结来说,学习率选取需要注意以下两点:学习率不是越小越好。学习率越小,损失函数的变化速度越慢,意味着原创 2020-06-02 15:47:08 · 2223 阅读 · 0 评论 -
【numpy】np.argsort()函数
就是把array排序,返回各个元素排序前的下标。x=[0.1 0.6 0.3]排序后x=[0.1 0.3 0.6]tmp=x.argsort()后tmp=[0 2 1]https://blog.csdn.net/qq_38486203/article/details/80967696转载 2020-06-02 11:45:47 · 177 阅读 · 0 评论 -
手写数字识别损失函数交叉熵
内容都是百度AIstudio的内容,我只是在这里做个笔记,不是原创。分类任务中使用均方误差作为损失存在逻辑和效果上的缺欠,比如房价可以是0-9之间的任何浮点数,手写数字识别的数字只可能是0-9之间的10个实数值(标签)。...原创 2020-06-02 09:57:56 · 1788 阅读 · 0 评论 -
手写数字识别卷积神经网络
内容都是百度AIstudio的内容,我只是在这里做个笔记,不是原创。#合并后代码#数据处理部分之前的代码,保持不变import osimport randomimport paddleimport paddle.fluid as fluidfrom paddle.fluid.dygraph.nn import Conv2D, Pool2D, FCimport numpy as npimport matplotlib.pyplot as pltfrom PIL import Imag.原创 2020-06-01 17:25:22 · 526 阅读 · 0 评论 -
手写数字识别全连接神经网络
经典的全连接神经网络含有四层网络:两个隐含层,输入层和输出层。输入层。准备数据,输入给神经网络。 隐含层。增加网络深度和复杂度,隐含层的节点数是可以调整的。节点数越多,神经网络表示能力越强,但同时参数量也会增加。 输出层。输出网络计算结果,输出层的节点数是固定的,比如手写数字识别有0-9十个数字,输出标签有10个,所以输出层必须是10个节点。说明:隐含层引入非线性激活函数sigmoid是为了增加神经网络的非线性能力,举例来说,一个神经网络有四个输入x1~x4,一个输出y,采用线性变换。假设第一原创 2020-06-01 15:38:30 · 1424 阅读 · 0 评论 -
手写数字识别之数据处理
#数据处理部分之前的代码,加入部分数据处理的库import paddleimport paddle.fluid as fluidfrom paddle.fluid.dygraph.nn import FCimport numpy as npimport osimport gzipimport jsonimport random# 声明数据集文件位置datafile = './work/mnist.json.gz'print('loading mnist dataset from {.原创 2020-06-01 10:11:56 · 1083 阅读 · 0 评论 -
手写数字快速入门
#加载飞桨和相关类库import paddleimport paddle.fluid as fluidfrom paddle.fluid.dygraph.nn import FCimport numpy as npimport osfrom PIL import Image# 定义mnist数据识别网络结构,同房价预测网络class MNIST(fluid.dygraph.Layer): def __init__(self, name_scope): super(.原创 2020-06-01 09:01:39 · 461 阅读 · 0 评论 -
使用paddle重写房价预测模型
深度学习框架的五个步骤:数据处理模型设计训练配置训练过程模型保存训练及保存模型部分#加载飞桨、Numpy和相关类库import paddleimport paddle.fluid as fluidimport paddle.fluid.dygraph as dygraphfrom paddle.fluid.dygraph import Linearimport numpy as npimport osimport randomdef load_data(.原创 2020-06-01 08:46:45 · 459 阅读 · 0 评论