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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM