详解Windows下源码编译PaddlePaddle
作者:Livingbody 发布时间:2022-07-06 00:22:09
标签: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
来源:https://juejin.cn/post/7218482973980082237


猜你喜欢
- 导语说到童年爱玩的电脑游戏,你会想到什么?最国民的莫过于金山打字通,接着是扫雷、红心大战,而红极一时的单机游戏当属《大富翁》。嘻嘻 打字游戏
- 原文链接:https://vien.tech/article/157前言本文将介绍ubuntu系统下如何定时执行shell脚本、python
- 1、下载地址:MySQL官网2、解压解压之后的文件里边是没有data文件的,需要创建一个空文件夹命名为data(后面需要用),并且需要创建一
- 1、typeof 用来检测数据类型的运算符typeof value 返回值首先是一个字符串,其次里面包含了对应的数据类型,例如:"
- 在Python中,任何类型的对象都可以做真值测试,并且保证返回True或者False。以下几种值(不论类型)在真值测试中返回False:1.
- 本文实例为大家分享了Vue实现步骤条效果的具体代码,供大家参考,具体内容如下步骤总数和初始选择步骤 均可自定义设置,每个步骤title和de
- 最近,某水果手机厂在万众期待中开了一场没有发布万众期待的手机产品的发布会,发布了除手机外的其他一些产品,也包括最新的水果14系统。几天后,更
- 听到一些人说现在做产品设计很没有成就感。没有什么创造力,除了抄袭模仿(称之为竞争分析)、千篇一律(又称规范标准)还有复杂的流程、粗制滥造的表
- 1. 什么是链表链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表
- 如何创建列表,或生成列表。这里介绍在python的基础知识里创建或转变或生成列表的一些方法。零个,一个或一系列数据用逗号隔开,放在方括号[
- 使用thinkphp官方的WeChat包,使用不同模式可以成功,但是安全模式就是不行,现将分析解决结果做下记录。分析问题: &nb
- 如果你需要一个PDF文件合并工具,那么本文章完全可以满足您的要求。哈喽,大家好呀,这里是滑稽研究所。不多废话,本期我们利用Python合
- 本文主要探索的是使用Python+tkinter编程实现一个简单的计算器代码示例,具体如下。闲话不说,直奔主题。建议大家跟着敲一遍代码,体会
- replace方法的语法是:stringObj.replace(rgExp, replaceText) 其中stringObj是字符串(st
- 一、问题起源 稍大一些的网站,通常都会有好几个服务器,每个服务器运行着不同功能的模块,使用不同的二级域名,而一个整体性强的网站,用户系统是统
- 有一台windows服务器上跑着mysql的一些应用,现在需要将mysql的数据每天备份,并通过ftp上传到指定的存储服务器上要是在linu
- 这里介绍笔者在学习wordcloud库时安装过程中所遇到的问题和解决方案1.在Pycharm中安装wordcloud出现的问题如下图所示2.
- 前言有的时候上游传过来的字段是string类型的,但是我们却想用变成数字来使用。 本来用一个json:",string"
- 1.下载mysql的repo源$ wget http://repo.mysql.com/mysql-community-release-el
- 1 什么是服务端渲染 SSRserver side render就是通过后端吐模板,而不是通过前端ajax获取数据,拼接字符串。2 为什么需