详解Windows下源码编译PaddlePaddle

 更新时间:2023年04月06日 09:44:57   作者:Livingbody  
这篇文章主要为大家介绍了Windows下从源码编译PaddlePaddle解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

Windows 下从源码编译 PaddlePaddle

1.环境准备

  • Windows 10 专业版 (64bit)
  • Python 版本 Python 3.9.16(64 bit)
  • Visual Studio2022 专业版

1.1 cmake

cmake --version

cmake version 3.25.1-msvc1
CMake suite maintained and supported by Kitware (kitware.com/cmake).

1.2 python

(p2) PS D:\Paddle> python --version
Python 3.9.16

1.3 cuda

(p2) PS D:\Paddle> nvidia-smi
Wed Apr  5 17:06:19 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 516.94       Driver Version: 516.94       CUDA Version: 11.7     |

1.4 python包

(p2) PS D:\Paddle> pip install numpy protobuf  wheel ninja
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Requirement already satisfied: numpy in i:\miniconda3\envs\p2\lib\site-packages (1.23.2)
Requirement already satisfied: protobuf in i:\miniconda3\envs\p2\lib\site-packages (3.20.3)
Requirement already satisfied: wheel in i:\miniconda3\envs\p2\lib\site-packages (0.38.4)
Requirement already satisfied: ninja in i:\miniconda3\envs\p2\lib\site-packages (1.11.1)

1.5 创建编译文件夹

mkdir D:\workspace && cd /d D:\workspace
git clone https://github.com/PaddlePaddle/Paddle.git
cd Paddle

1.6 启用visual studio终端

**********************************************************************
** Visual Studio 2022 Developer Command Prompt v17.5.3
** Copyright (c) 2022 Microsoft Corporation
**********************************************************************
C:\Program Files\Microsoft Visual Studio\2022\Professional>d:
D:\>cd Paddle
D:\Paddle>

1.7 开始编译

先编译CPU版本吧,因为GPU的cuda和cudnn环境变量不会写(偷懒用conda安装的)

cmake .. -GNinja -DWITH_GPU=OFF -DWITH_UNITY_BUILD=ON
ninja

编译过程中会下载东西,所以建议不要断网。 此过程中:

  • 特别费CPU,我的到了100%,风扇呼呼的;
  • 内存使用不大,10GB左右没变过;
  • 不断使用git下载,所以网速要好。

1.8 docker编译

docker run --name paddle-test -v 123456:/paddle --network=host -it registry.baidubce.com/paddlepaddle/paddle:latest-dev /bin/bash
          3 times.
CMake Error at /paddle/build/third_party/dlpack/tmp/extern_dlpack-gitclone.cmake:31 (message):
  Failed to clone repository: 'https://github.com/dmlc/dlpack.git'
CMakeFiles/extern_dlpack.dir/build.make:91: recipe for target 'third_party/dlpack/src/extern_dlpack-stamp/extern_dlpack-download' failed
make[2]: *** [third_party/dlpack/src/extern_dlpack-stamp/extern_dlpack-download] Error 1
CMakeFiles/Makefile2:4791: recipe for target 'CMakeFiles/extern_dlpack.dir/all' failed
make[1]: *** [CMakeFiles/extern_dlpack.dir/all] Error 2
fatal: unable to access 'https://github.com/JuliaStrings/utf8proc.git/': Failed to connect to github.com port 443: Connection refused
-- Had to git clone more than once:
          3 times.
CMake Error at /paddle/build/third_party/utf8proc/tmp/extern_utf8proc-gitclone.cmake:31 (message):
  Failed to clone repository: 'https://github.com/JuliaStrings/utf8proc.git'
CMakeFiles/extern_utf8proc.dir/build.make:90: recipe for target 'third_party/utf8proc/src/extern_utf8proc-stamp/extern_utf8proc-download' failed
make[2]: *** [third_party/utf8proc/src/extern_utf8proc-stamp/extern_utf8proc-download] Error 1
CMakeFiles/Makefile2:4818: recipe for target 'CMakeFiles/extern_utf8proc.dir/all' failed

以上就是详解Windows下源码编译PaddlePaddle的详细内容,更多关于Windows编译PaddlePaddle的资料请关注脚本之家其它相关文章!

相关文章

  • python基于selenium爬取斗鱼弹幕

    python基于selenium爬取斗鱼弹幕

    这篇文章主要介绍了python如何基于selenium爬取斗鱼弹幕,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-02-02
  • python字典和json.dumps()的遇到的坑分析

    python字典和json.dumps()的遇到的坑分析

    在本篇文章里小编给大家整理了关于python字典和json.dumps()的遇到的坑分析,需要的朋友们可以学习下。
    2020-03-03
  • Python必知必会之os模块实例详解

    Python必知必会之os模块实例详解

    os模块是Python标准库中整理文件和目录最为常用的模块,该模块提供了非常丰富的方法用来处理文件和目录,下面这篇文章主要给大家介绍了关于Python必知必会之os模块的相关资料,需要的朋友可以参考下
    2022-10-10
  • Python摸鱼神器之利用树莓派opencv人脸识别自动控制电脑显示桌面

    Python摸鱼神器之利用树莓派opencv人脸识别自动控制电脑显示桌面

    这篇文章主要介绍了Python摸鱼神器树莓派opencv人脸识别自动控制电脑显示桌面,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • Python中numpy的np.percentile百分位函数举例详解

    Python中numpy的np.percentile百分位函数举例详解

    在python中计算一个多维数组的任意百分比分位数,此处的百分位是从小到大排列,只需用np.percentile即可,这篇文章主要给大家介绍了关于Python中numpy的np.percentile百分位函数的相关资料,需要的朋友可以参考下
    2024-08-08
  • VScode连接远程服务器上的jupyter notebook的实现

    VScode连接远程服务器上的jupyter notebook的实现

    这篇文章主要介绍了VScode连接远程服务器上的jupyter notebook的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Python反爬实战掌握酷狗音乐排行榜加密规则

    Python反爬实战掌握酷狗音乐排行榜加密规则

    最新的酷狗音乐反爬来袭,本文介绍如何利用Python掌握酷狗排行榜加密规则,本章内容只限学习,切勿用作其他用途!!!!! 有需要的朋友可以借鉴参考下
    2021-10-10
  • Python列表append和+的区别浅析

    Python列表append和+的区别浅析

    这篇文章主要介绍了Python列表append和+的区别浅析,本文得出一的结论是使用append实际是修改一个列表,使用+实际是创建一个新的列表,需要的朋友可以参考下
    2015-02-02
  • Python判断一个list中是否包含另一个list全部元素的方法分析

    Python判断一个list中是否包含另一个list全部元素的方法分析

    这篇文章主要介绍了Python判断一个list中是否包含另一个list全部元素的方法,结合实例形式对比分析了Python针对列表list元素包含关系的相关转换、判断操作技巧,需要的朋友可以参考下
    2018-12-12
  • Pygame Rect区域位置的使用(图文)

    Pygame Rect区域位置的使用(图文)

    在 Pygame 中我们使用 Rect() 方法来创建一个指定位置,大小的矩形区域。本文主要就来介绍一下如何使用,具有一定的参考价值,感兴趣的可以了解一下
    2021-11-11

最新评论