精华内容
下载资源
问答
  • PaddlePaddle

    2019-09-21 21:56:05
    PaddlePaddle NVIDA 驱动安装 CentOS vim /lib/modprobe.d/dist-blacklist.conf 添加 blacklist nouveau, 屏幕 CentOS 自带的 nouveau 重建 initramfs image mv /boot/initramfs-$(uname -r).img /boot/initramfs-...

    PaddlePaddle

    NVIDA 驱动安装

    CentOS

    1. vim /lib/modprobe.d/dist-blacklist.conf
    2. 添加 blacklist nouveau, 屏幕 CentOS 自带的 nouveau
    3. 重建 initramfs image
      1. mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
      2. dracut /boot/initramfs-$(uname -r).img $(uname -r)
    4. reboot
    5. lsmod | grep nouveau 查看是否禁用成功
    6. chmod +x NVIDIA-Linux-x86_64-***.run && ./NVIDA-Linux-x86_64-***.run 运行程序安装驱动

    API

    Program

    1. 含义: 在 fluid 中默认有 default_startup_program()default_main_program() 两个 program, 如果不搭建网络, 则都为空, 如果搭建了网络, 则 default_startup_program() 只需要执行一次用来初始化参数, default_main_program() 每一个 mini-batch 都执行进行前向传播; program 可以理解为一个计算图, 要给 program 添加节点和操作, 需要在 with fluid.program_guard(program1, program2) 中构建网络, 如果没有此语句, 则默认在 default_* 中, 其中参数 program1main_program, 每一次 mini-batch 都执行, program2startup_program, 只需要执行一次初始化操作; 开发者只需要关注 program1 参数即可, program2 参数只是单单初始化参数
    2. 创建方式
      1. program = fluid.Program()
      2. main_program = fluid.default_main_program() # 默认
      3. startup_program = fluid.default_startup_program() # 默认

    模型可视化

    ONNX

    1. paddlepaddle 自身无法可视化图, 需要将网络结构转为 onnx 的 .pb 文件格式才行, 使用 paddle2onnx 命令行工具转换
    2. 操作
      1. 安装依赖
        1. paddlepaddle
        2. onnx
        3. onnxruntime
        4. paddle2onnx
      2. 转换命令 paddle2onnx --fluid_model ./infer_model/ --onnx_model model.pb
        1. 关于 infer_model, 此为目录, 在 paddlepaddle 的网络模型中使用 fluid.save_inference_model(dirname, [input], [output], exe)将模型和参数保存在 dirname 中, 其中 __model__ 为模型, 其余文件为参数
      3. 下载 Netron 软件输入 .pb 文件进行可视化
    3. 对第 1 点的补充, paddlepaddle 无法可视化的原因是 protobuf 版本不对, 使用命令安装 pip install protobuf==3.6.1

    转载于:https://www.cnblogs.com/megachen/p/11470187.html

    展开全文
  • paddlepaddle

    2018-10-22 14:57:00
    1. 训练过程中cost出现nan 可能是因为有脏数据,寻找脏数据的方法就是,设置batch_size=1, paddle....2. 安装paddlepaddle过程中报错:CUDA error: invalid device function 可能是安装的版本不对,查看cuda和cu...

    1. 训练过程中cost出现nan

       可能是因为有脏数据,寻找脏数据的方法就是,设置batch_size=1, paddle.reader.shuffle 中buf_size=1 一条一条的进行训练,看最后nan在哪个地方。

    2. 安装paddlepaddle过程中报错:CUDA error: invalid device function

       可能是安装的版本不对,查看cuda和cudnn的版本,再选择合适的包安装。

    转载于:https://www.cnblogs.com/tsw123/p/9830101.html

    展开全文
  • 二、安装PaddlePaddle 1. 新建一个虚拟环境。 打开Anaconda Prompt,输入 conda create -paddlepaddle python=3.6 完成之后激活环境, activate paddlepaddle 安装gpu版本的PaddlePaddle, pip install ...
  • PaddlePaddle概述

    2021-01-25 23:24:45
    PaddlePaddle概述 PaddlePaddle简介 为什么要学PaddlePaddle 什么是PaddlePaddle PaddlePaddle优点 PaddlePaddle缺点 学习资源 什么是PaddlePaddle PaddlePaddle(Parallel Distributed Deep Learning,中文名飞桨...

    PaddlePaddle概述

    PaddlePaddle简介

    为什么要学PaddlePaddle
    什么是PaddlePaddle
    PaddlePaddle优点
    PaddlePaddle缺点
    学习资源
    什么是PaddlePaddle

    PaddlePaddle(Parallel Distributed Deep Learning,中文名飞桨)
    是百度公司推出的开源、易学习、易使用的分布式深度学习平台 源于产业实践,在实际中有着优异表现 支持多种机器学习经典模型

    为什么学习PaddlePaddle

    开源、国产 能更好、更快解工程决实际问题

    PaddlePaddle优点

    易用性。语法简洁,API的设计干净清晰 丰富的模型库。借助于其丰富的模型库,可以非常容易的复现一些经典 方法
    全中文说明文档。首家完整支持中文文档的深度学习平台 运行速度快。充分利用 GPU 集群的性能,为分布式环境的并行计算进行 加速
    PaddlePaddle缺点 教材少 习难度大、曲线陡峭

    学习资源

    官网 地址:https://www.paddlepaddle.org.cn/ 内容:学习指南、文档、API手册 百度云智学院
    地址:http://abcxueyuan.cloud.baidu.com/#/courseDetail?id=14958 内容:教学视频
    AIStudio
    地址:https://aistudio.baidu.com/aistudio/projectoverview/public/1
    内容:项目案例

    编译与执行过程

    1. 用户编写的python程序通过调用 Paddle 提供的算子,向Program 中添加变量 (Tensor)以及对变量的操作(Operators 或者 Layers)
    2. 原始Program在框架内部转换为中间描述语言: ProgramDesc
    3. Transpiler 接受一段 ProgramDesc ,输出一段变化后的 ProgramDesc ,作为后端 Executor 最终需要执行的 Program
    4. 执行 ProgramDesc 中定义的 Operator(可以类比为程序语言中的指令),在执行 过程中会为 Operator 创建所需的输入输出并进行管理

    三个重要术语

    Fluid:定义程序执行流程 Program:对用户来说一个完整的程序 Executor:执行器,执行程序

    快速开始

    import paddle.fluid as fluid
    
    # 创建两个类型为int64,形状为1行1列的张量
    x = fluid.layers.fill_constant(
        shape=[1],
        dtype='int64',
        value=1
    )
    y = fluid.layers.fill_constant(
        shape=[1],
        dtype='int64',
        value=1
    )
    z = x + y
    # 创建Executor执行器
    place = fluid.CPUPlace()
    exe = fluid.Executor(place)
    result = exe.run(
        fluid.default_main_program(),
        fetch_list=[z]
    )
    print(result)
    

    张量

    • 什么是张量 张量(Tensor): 多维数组或向量,同其它主流深度学习框架一样, PaddlePaddle使用张量来承载数据

    张量(续)

    • 张量示例 灰度图像为二维张量(矩阵),彩色图像为三维张量

    LoDTensor

    LoD(Level-of-Detail) Tensor是Paddle的高级特性,是对Tensor的一种
    扩充。LoDTensor通过牺牲灵活性来提升训练的效率。 LoDTensor用来处理变长数据信息,将长度不一致的维度拼接为一个大的
    维度,并引入了一个索引数据结构(LoD)来将张量分割成序列。

    LoDTensor(续)

    假设一个mini-batch中有3个句子,每个句子中分别包含3个、1个和2个单词,我 们可以用(3+1+2)xD维Tensor
    加上一些索引信息来表示这个mini-batch: 假设存在一个mini-batch中包含3个句子、1个句子和2个句子的文章,每个句子都
    由不同数量的单词组成,则这个mini-batch的可以表示为2-Level的LoDTensor:

    Layer

    表示一个独立的计算逻辑,通常包含一个或多个operator(操
    作),如layers.relu表示ReLU计算;layers.pool2d表示pool操 作。Layer的输入和输出为Variable。

    Variable

    表示一个变量,在paddle中,Variable 基本等价于 Tensor 。
    Variable进入Layer计算,然后Layer返回Variable。创建变量方式:

    x = fluid.layers.fill_constant(shape=[1],dtype='int64',value=1)
    y = fluid.layers.fill_constant(shape=[1],dtype='int64',value=1)
    

    Variable(续)

    Paddle 中存在三种 Variable: 模型中的可学习参数:包括网络权重、偏置,生存期和整个训练任务 一样长。通过
    fluid.layers.create_parameter 来创建可学习参数 占位 Variable:Paddle 中使用
    fluid.data 来接收输入数据, fluid.data 需要提供输入 Tensor 的形状信息,当遇到无法确定的维度
    时,相应维度指定为 None 常量 Variable:通过 fluid.layers.fill_constant
    来实现常量Variable

    Program

    Program包含Variable定义的多个变量和Layer定义的多个计算,是
    一套完整的计算逻辑。从用户角度来看,Program是顺序、完整执 行的。program 的作用是存储网络结构,但不存储参数。

    Program(续)

    用户完成网络定义后,一段 Paddle 程序中通常存在 2 个 Program
    fluid.default_startup_program:定义了模型参数初始化、优化器参
    数初始化、reader初始化等各种操作。该program可以由框架自动生成, 使用时无需显式地创建
    fluid.default_main_program :定义了神经网络模型,前向反向计算, 以及模型参数更新、优化器参数更新等各种操作

    Scope

    scope 在 paddle 里可以看作变量空间,存储fluid创建的变量。变量 存储于unordered_map
    数据结构中,该结构类似于python中的dict, 键是变量的名字,值是变量的指针。 一 个 p a d d l e 程 序 有 一 个
    默 认 的 全 局 s c o p e ( 可 以 通 过 fluid.global_scope() 获取)。如果没有主动创建 scope
    并且通过 fluid.scope_guard() 替换当前 scope,那么所有参数都在全局 scope
    中。参数创建的时机不是在组网时,而是在 executor.run() 执行时。 program 和 scope
    配合,才能表达完整模型(模型=网络结构+参数)

    Executor

    Executor用来接收并执行Program,会一次执行Program中定义的
    所有计算。通过feed来传入参数,通过fetch_list来获取执行结果。
    Place
    PaddlePaddle可以运行在Intel CPU,Nvidia GPU,ARM CPU和更
    多嵌入式设备上,可以通过Place用来指定执行的设备(CPU或
    GPU)。

    Optimizer

    优化器,用于优化网络,一般用来对损失函数做梯度下降优化,从而 求得最小损失值





    案例2:执行两个张量计算

    '''
    1. 神经网络 全连接
    2. 损失函数 均方差
    3. SGD 随机梯度优化器。
    '''
    import paddle
    import paddle.fluid as fluid
    import numpy as np
    import matplotlib.pyplot as plt
    
    # 定义样本数据
    train_data = np.array([
        [0.5],
        [0.6],
        [0.8],
        [1.2],
        [1.3]
    ]).astype("float32")
    y_true = np.array([
        [5.0],
        [5.5],
        [6.8],
        [6.9],
        [7.0]
    ]).astype("float32")
    
    # 定义数据类型
    x = fluid.layers.data(name="x", shape=[1],
                          dtype="float32")
    y = fluid.layers.data(name="y", shape=[1],
                          dtype="float32")
    # 搭建模型,构造损失函数
    y_predict = fluid.layers.fc(input=x, size=1, act=None)
    cost = fluid.layers.square_error_cost(
        input=y_predict,
        label=y)
    # 对cost求平均值
    avg_cost = fluid.layers.mean(cost)
    # 定义优化方法
    optimizer = fluid.optimizer.SGD(learning_rate=0.001)
    optimizer.minimize(avg_cost)
    
    # 执行器
    place = fluid.CPUPlace()
    exe = fluid.Executor(place)
    # 初始化网络
    exe.run(fluid.default_startup_program())
    
    # 开始训练
    
    # 定义params
    params = {"x": train_data, "y": y_true}
    costs = []  # 损失值
    iters = []  # 迭代次数
    # values=[] # 获取到值
    for i in range(100):
        # 传入的参数 最后要获取到的值,预测结果,cost均值。
        outs = exe.run(feed=params,
                       fetch_list=[y_predict.name,
                                   avg_cost.name])
        # 记录迭代次数
        iters.append(i)
        # 记录损失值
        costs.append(outs[1][0])
        print("i", i, "cost", outs[1][0])
    
    # 损失函数可视化 iters costs。
    # plt.figure("Training")
    # plt.xlabel("Iter",fontsize=14)
    # plt.ylabel("cost",fontsize=14)
    # plt.plot(iters, costs, color="red", label="Training cost")
    # plt.legend()
    # plt.show()
    # 线性模型可视化
    # 定义一系列的x,通过模型预测x对应的y
    tmp = np.random.rand(10, 1)  # 生成10行1列的均匀随机数
    tmp = tmp * 2
    tmp.sort(axis=0)
    x_test = np.array(tmp).astype("float32")
    params = {"x": x_test, "y": x_test}
    y_out = exe.run(feed=params,
                    fetch_list=[y_predict.name])
    y_test = y_out[0]
    plt.xlabel("x_test")
    plt.ylabel("y_test")
    plt.title("Linear Regression")
    plt.plot(x_test, y_test, color="orange",
             label="linear")
    plt.scatter(train_data, y_true)
    
    plt.legend()
    plt.show()
    

    编写简单线性回归

    任务: 给出输入样本 给出实际输出样本 找出 y = wx+b 公式中的 w 和 b 思路: 定义输入数据、实际输出结果
    将数据送入神经网络进行训练(全连接网络,即分类器) 根据实际输出、预测输出之间的损失值,进行梯度下降,直到收敛到极小值为止

    案例:编写简单线性回归(续)

    技术要点: 神经网络,选择 fluid.layers.fc( ),该函数在神经网络中建立一个全连接层。接收
    多个输入,为每个输入分配一个权重w, 并维护一个偏置值b;预测时产生一个输出 损失函数:回归问题,选择均方差 f l u i d . l
    a y e rs. squa re _ e rror _ cos t和 fluid.layers.mean( )作为损失函数
    优化器:随机梯度下降优化器 fluild.SGD,做梯度下降计算

    什么是数据准备

    数据准备是指将样本数据从外部(主要指文件)读入,并且按照一 定方式(随机、批量)传递给神经网络,进行训练或测试的过程
    数据准备包含三个步骤: 第一步:自定义Reader生成训练/预测数据 第二步:在网络配置中定义数据层变量
    第三步:将数据送入网络进行训练/预测




    为什么需要数据准备

    从文件读入数据。因为程序无法保存大量数据,数据一般保存到文 件中,所以需要单独的数据读取操作
    批量快速读入。深度学习样本数据量较大,需要快速、高效读取 (批量读取模式) 随机读入。为了提高模型泛化能力,有时需要随机读取数据(随机
    读取模式)

    展开全文
  • PaddlePaddle安装

    2021-01-05 02:39:06
    paddlepaddle安装过程 按照paddleDetection中文文档安装paddle1.8.4 我的环境: Windows10 python3.7.9 pip 10.0.1 CUDA10.2 cudnn7.6.4 安装paddlepaddle python -m pip install paddlepaddle -i ...

    PaddlePaddle安装过程

    按照PaddleDetection中文文档安装paddle1.8.4
    我的环境:

    1. Windows10
    2. python3.7.9
    3. pip 10.0.1
    4. CUDA10.2
    5. cudnn7.6.4

    安装paddlepaddle

    python -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple
    

    如果您的机器安装的是CUDA9,请运行以下命令安装

    python -m pip install paddlepaddle-gpu==1.8.4.post97 -i https://mirror.baidu.com/pypi/simple
    

    如果您的机器安装的是CUDA10,请运行以下命令安装

    python -m pip install paddlepaddle-gpu==1.8.4.post107 -i https://mirror.baidu.com/pypi/simple
    

    如果您的机器是CPU,请运行以下命令安装

    python -m pip install paddlepaddle==1.8.4 -i https://mirror.baidu.com/pypi/simple
    

    验证成功

    # 在您的Python解释器中确认PaddlePaddle安装成功
    >>> import paddle.fluid as fluid
    >>> fluid.install_check.run_check()
    

    报错:RuntimeError: cublas64_100.dll not found.
    在这里插入图片描述
    根据文章,用Everything查找cublas64_100.dll文件并不存在,下载文章中的盘资源,放在以下目录下,便可成功验证paddlepaddle安装,如下图所示。

    C:\Windows\System32

    在这里插入图片描述

    确认PaddlePaddle版本

    python -c "import paddle; print(paddle.__version__)"
    

    在这里插入图片描述
    安装COCO-API:

    pip install pycocotools
    pip install Cython
    pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI
    

    如果没有安装git,则会报错:

    ERROR: Cannot find command 'git' - do you have 'git' installed and in your PATH?
    

    官网安装git或者使用conda安装git

    conda install git
    

    安装完成!!!!!!!!!!!!!!!!!!!!!!!!

    展开全文
  • paddlepaddle安装

    千次阅读 2020-02-22 22:38:36
    paddlepaddle-gpu==X.X.X.postXX 其中post后的两个XX分别代表CUDA版本,CUDNN版本。 paddlepaddle-gpu==1.5.2.post87 代表CUDA版本8,CUDNN版本7.X paddlepaddle-gpu==1.5.1.post97 代表CUDA版本9,CUDNN版本7.X ...
  • 源码 https://github.com/PaddlePaddle/Paddle 官网 http://www.paddlepaddle.org.cn/start 模型转换 主流模型转paddle https://github.com/PaddlePaddle/X2Paddle
  • 这一章我们介绍如何安装新版本的PaddlePaddle,这里说的新版本主要是说Fluid版本。Fluid 是设计用来让用户像Pytorch和Tensorflow Eager Execution一样执行程序。在这些系统中,不再有模型这个概念,应用也不再包含一...
  • PaddlePaddle实战

    2019-10-07 14:34:31
    PaddlePaddle有着巨大的野心,企图做国内AI框架的佼佼者,借此打造自己的AI生态,下面记录对PaddlePaddle的使用。 环境准备 前期已经做好了原生版的centos docker镜像,里面搭建了anaconda3.7环境,在此环境上安装...
  • PaddlePaddle入门整理一:PaddlePaddle的基本操作

    万次阅读 多人点赞 2019-04-20 15:28:40
    PaddlePaddle的基本操作目录PaddlePaddle简介PaddlePaddle安装pip安装Docker安装PaddlePaddle基本语法1. 数据结构插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右...
  • PaddlePaddle进行安装

    千次阅读 2020-09-21 14:32:21
    PaddlePaddle安装
  • 安装paddlepaddle

    千次阅读 2019-07-02 18:37:29
    一、windows+pip+cpu+python3.5+ 参考链接:http://www.paddlepaddle.org.cn/start 1.出现文件下载未完成,就报error ...pip3 install paddlepaddle 2.出现问题sha256不一致 ERROR: THESE PACKAGES...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,622
精华内容 4,248
关键字:

paddlepaddle