PaddlePaddle

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

猜你喜欢

转载自www.cnblogs.com/megachen/p/11470187.html