pytorch学习笔记(十五):pytorch 源码编译碰到的坑总结

2017.11.17

最近打算学习一下 pytorch 源码,所以按照官网的教程从头编译了一下 pytorch 。在编译的过程中,碰到了两个坑,在这里记录一下。

源码编译流程

  • 需要 anaconda
  • 如果要编译cuda 版本的话 CUDA7.5 及以上。Cudnn 6 及以上
  • 如果不想编译 cuda 版本的话:命令行执行 export NO_CUDA=1
1. export CMAKE_PREFIX_PATH="$(dirname $(which conda))/../"
2. conda install numpy pyyaml mkl setuptools cmake cffi
3. conda install -c soumith magma-cuda80 (这个可装可不装)
4. git clone --recursive https://github.com/pytorch/pytorch (下载源码)
5. cd pytorch
6. python setup.py install (坐等编译安装 完毕。)

以下是碰到的几个错误

  • 第一个错误
CMakeFiles/Makefile2:264: recipe for target 'src/ATen/test/CMakeFiles/scalar_test.dir/all' failed
make[1]: *** [src/ATen/test/CMakeFiles/scalar_test.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
解决方法是:(由于我是 ubuntu16.04 编译的, gcc 默认的版本是 5.4,但是用 4.9 编译就不会有问题)
sudo apt install gcc-4.9 g++-4.9
export CC="gcc-4.9"
export CXX="g++-4.9"
# change to pytorch directory
python setup.py clean
python setup.py install
  • 第二个错误:(编译安装成功后, import torch 时报这个错)
libstdc++.so.6: version `GLIBCXX_3.4.21' not found
解决方法:
conda install libgcc 
然后再 import 就没问题了
  • 第三个错误(编译安装成功后,import torch 时报的错)
ModuleNotFoundError: No module named 'torch._C'
这个错误是 因为 我直接在 `pytorch/` 源码路径下打开的 `ipython`。 `cd` 出来就好了
the problem is that you have a folder called torch in the same directory which is being picked up. Do this: cd .. (to change directory), and then start python and import torch, it should work.

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小白鼠

Ionic3 Android签名

app签名,相当于是app在Anndroid系统上的一个认证,Android系统要求每一个Android应用程序必须要经过数字签名才能够安装到系统中,也就是说如...

682
来自专栏我的博客

PHP错误提示failed to open stream: Too many open files

项目遇到的这个问题failed to open stream: Too many open files 检查PHP脚本发现发起很多curl请求,于是看curl是...

3085
来自专栏陈树义

高效开发技巧:为什么你下载Git项目这么慢?

笔者所在公司采用的是 GitLab 进行版本管理,但许多同事下载 Git 项目的路径是这样的: 打开浏览器 -> 输入网址 -> 查找项目地址 -> 复制项目...

3374
来自专栏cs

Ubuntu 怎么增加根目录 \ 大小

电脑因为根目录看见不足,造成开机一直处于登录界面,经过我在终端折腾半天,删除了opt目录等操作,才终于进入xwindows桌面,所以决定增大\目录的大小,文章同...

1113
来自专栏Java开发

CentOS 6.X 安装VNC Server实现图形化访问

902
来自专栏李蔚蓬的专栏

Apache服务器填坑之路(下载、安装、使用demo、卸载)

戳这里上Apache官网 进入官网后,点击中间“Downloading the Apache HTTP Server”下面的“a number of thir...

783
来自专栏开源FPGA

Linux学习笔记

从书上一扫而过,扫到的就这么多,其他的都稍微有点深,暂时先学这么多,后面需要再去百度! 一、 Linux中常用命令 1. Date:查看日期时间  Cal:查看...

1826
来自专栏Jed的技术阶梯

spark读写HBase之使用hortonworks的开源框架shc(一):源码编译以及测试工程创建

以下是我修改后的两个子模块core和examples中的pom文件,只修改了version

903
来自专栏主机笔记

windows2012服务器搭建mongodb并设置远程访问

因为python脚本需要用到mongodb,而且需要本地查看数据库,所以就在腾讯云的windows服务器上部署了mongodb服务器,因为网上大部分教程是针对l...

3519
来自专栏ASP.NETCore

.NET Core New csproj 如何发布可执行文件

  .NET工具链在最新的Preview3版本中,引入了新的MSBuild项目系统,项目文件又回归了.csproj的XML文件来管理,项目文件、包引用、程序集引...

673

扫码关注云+社区