linux下无root权限安装python2.7和pip以及安装cuda9.0,cudnn7.4,pytorch-gpu

简介

因为自己电脑的gpu不足,想要使用学校的gpu。学校的基本配置如下

系统是centos7.3.里面有8个V100

因为没有root权限,所以只能在文件夹下安装自己的所有东西,刚开始想要安装anaconda,然后在安装其他的cuda,cudnn,pytorch-gpu,然而在测试程序中无法使用GPU加速,很难受,然后放弃使用anaconda,反而可以了。

服务器的简单链接

因为自己的电脑的系统是ubuntu16.04,所以也比较方便,如果是win下的话,可以使用xshell,xftp。

链接的话使用ssh,我的是

ssh zhangyuting314@10.16.23.122

想要传输文件的话,可以打开文件后,左侧有一个Connect to Sever,如图

sftp://zhangyuting314@10.16.23.122/home/zhangyuting314

 这样子就可以简单的使用了。

安装python2.7

如果你想要安装的是python3的话,估计没有必要安装pip了,好像是自带的。

1.下载python2.7

wget https://www.python.org/ftp/python/2.7.5/Python-2.7.5.tgz

2.解压,然后到Python的文件路径下

tar -xzf Python-2.7.5.tgz
cd Python-2.7.5

3.进行编译,--prefix这个路径需要修改一下,其实就是编译的路径了

./configure --prefix=/home/zhangyuting314/python2

4.安装

make -j
make install

5.配置环境,将PATH修改成自己的

vim ~/.bashrc
export PATH=/home/zhangyuting314/python2/bin:$PATH
source ~/.bashrc

6.测试

键入python,就可以看到自己安装的版本了

安装pip

下载pip-9.0.1,最后我会升级到19.01

wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz#md5=35f01da33009719497f01a4ba69d63c9

解压以及安装

tar -zxvf pip-9.0.1.tar.gz
cd pip-9.0.1
python setup.py install

最后的一部出现了

ImportError: No module named setuptools

然后那就先安装setuptools

wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-12.0.3.tar.gz

tar xvf setuptools-12.0.3.tar.gz
cd setuptools-12.0.3
python setup.py install

安装完之后,在回头安装pip

cd ~
cd pip-9.0.1
python setup.py install

现在基本上安装完成了,查看pip的版本

pip -V

然后在升级一下

pip install --upgrade pip

安装cuda9.0

下载地址

下载完成以后,传输到服务器中,

对.run添加权限,安装。

chmod +x cuda_9.0.176_384.81_linux.run
./cuda_9.0.176_384.81_linux.run

照如下步骤进行安装

Do you accept the previously read EULA?
accept/decline/quit:accept   
 
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 387.26?
(y)es/(n)o/(q)uit: n
 
Install the CUDA 9.0 Toolkit?
(y)es/(n)o/(q)uit: y
 
Enter Toolkit Location
 [ default is /usr/local/cuda-9.0 ]: 
直接按enter
 
Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: y
 
Install the CUDA 9.0 Samples?
(y)es/(n)o/(q)uit: y

接下来添加环境,里面不需要修改了,注意里面是大写的HOME,不是home

vim ~/.bashrc
export PATH=$HOME/cuda9.0/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/cuda9.0/lib64/

然后激活环境

source ~/.bashrc

看是否安装好,键入。

nvcc -V

安装cudnn7.4

这个cudnn必须和cuda适配哦

下载地址

注册下载完成以后,传输到服务器中

然后解压,解压之后的文件是cuda文件

tar -xzvf cudnn-9.0-linux-x64-v7.4.1.5.tgz

复制

cp cuda/include/cudnn.h ~/cuda9.0/include/
cp cuda/lib64/libcudnn* ~/cuda9.0/lib64
chmod a+r ~/cuda9.0/include/cudnn.h ~/cuda9.0/lib64/libcudnn*

这样子就安装好了cudnn了

安装pytorch-gpu

找到pytorch的官网,里面右需要的命令取安装pytorch,如图

pip install torch torchvision

这里给一个测试程序吧

# coding=utf-8
import torch
import torch.nn as nn
from torch.autograd import Variable
import torch.utils.data as Data
import torchvision
import time

# import matplotlib.pyplot as plt

torch.manual_seed(1)

EPOCH = 1
BATCH_SIZE = 50
LR = 0.001
DOWNLOAD_MNIST = False
if_use_gpu = 1

# 获取训练集dataset
training_data = torchvision.datasets.MNIST(
    root='./MNIST_data/',  # dataset存储路径
    train=True,  # True表示是train训练集,False表示test测试集
    transform=torchvision.transforms.ToTensor(),  # 将原数据规范化到(0,1)区间
    download=DOWNLOAD_MNIST,
)

# 打印MNIST数据集的训练集及测试集的尺寸
print(training_data.train_data.size())
print(training_data.train_labels.size())
# torch.Size([60000, 28, 28])
# torch.Size([60000])

# plt.imshow(training_data.train_data[0].numpy(), cmap='gray')
# plt.title('%i' % training_data.train_labels[0])
# plt.show()

# 通过torchvision.datasets获取的dataset格式可直接可置于DataLoader
train_loader = Data.DataLoader(dataset=training_data, batch_size=BATCH_SIZE,
                               shuffle=True)

# 获取测试集dataset

test_data = torchvision.datasets.MNIST(
    root='./MNIST_data/',  # dataset存储路径
    train=False,  # True表示是train训练集,False表示test测试集
    transform=torchvision.transforms.ToTensor(),  # 将原数据规范化到(0,1)区间
    download=DOWNLOAD_MNIST,
)
# 取前全部10000个测试集样本
test_x = Variable(torch.unsqueeze(test_data.test_data, dim=1).float(), requires_grad=False)
# test_x = test_x.cuda()
## (~, 28, 28) to (~, 1, 28, 28), in range(0,1)
test_y = test_data.test_labels


# test_y = test_y.cuda()
class CNN(nn.Module):
    def __init__(self):
        super(CNN, self).__init__()
        self.conv1 = nn.Sequential(  # (1,28,28)
            nn.Conv2d(in_channels=1, out_channels=16, kernel_size=5,
                      stride=1, padding=2),  # (16,28,28)
            # 想要con2d卷积出来的图片尺寸没有变化, padding=(kernel_size-1)/2
            nn.ReLU(),
            nn.MaxPool2d(kernel_size=2)  # (16,14,14)
        )
        self.conv2 = nn.Sequential(  # (16,14,14)
            nn.Conv2d(16, 32, 5, 1, 2),  # (32,14,14)
            nn.ReLU(),
            nn.MaxPool2d(2)  # (32,7,7)
        )
        self.out = nn.Linear(32 * 7 * 7, 10)

    def forward(self, x):
        x = self.conv1(x)
        x = self.conv2(x)
        x = x.view(x.size(0), -1)  # 将(batch,32,7,7)展平为(batch,32*7*7)
        output = self.out(x)
        return output


cnn = CNN()
if if_use_gpu:
    cnn = cnn.cuda()

optimizer = torch.optim.Adam(cnn.parameters(), lr=LR)
loss_function = nn.CrossEntropyLoss()

for epoch in range(EPOCH):
    start = time.time()
    for step, (x, y) in enumerate(train_loader):
        b_x = Variable(x, requires_grad=False)
        b_y = Variable(y, requires_grad=False)
        if if_use_gpu:
            b_x = b_x.cuda()
            b_y = b_y.cuda()

        output = cnn(b_x)
        loss = loss_function(output, b_y)
        optimizer.zero_grad()
        loss.backward()
        optimizer.step()

        if step % 100 == 0:
            print('Epoch:', epoch, '|Step:', step,
                  '|train loss:%.4f' % loss.item())
    duration = time.time() - start
    print('Training duation: %.4f' % duration)

cnn = cnn.cpu()
test_output = cnn(test_x)
pred_y = torch.max(test_output, 1)[1].data.squeeze()
accuracy = sum(pred_y == test_y) / test_y.size(0)
print('Test Acc: %.4f' % accuracy)

参考博客

https://blog.csdn.net/weixin_40085833/article/details/84325114

 

 

 

 

 

 

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于安装 TensorFlow-GPU 1.14.0,您需要确保您的 Anaconda 环境已正确设置,并且已安装了正确版本的 CUDAcuDNN。 下面是安装步骤: 1. 首先,确保您已经成功安装了 Anaconda。如果还没有安装,请按照官方文档的指导进行安装。 2. 接下来,您需要安装 CUDA 10.0。您可以从 NVIDIA 官方网站下载适用于您的操作系统的 CUDA 安装程序,并按照指示进行安装。 3. 安装 CUDA 后,您需要安装 cuDNN 7.4。您需要先注册一个 NVIDIA 开发者账号,然后从 NVIDIA 开发者网站下载 cuDNN 安装包。根据您的操作系统和 CUDA 版本选择正确的版本,并根据 cuDNN 安装指南进行安装。 4. 安装CUDAcuDNN 后,打开 Anaconda Prompt(Windows)或终端(macOS/Linux)。 5. 创建一个新的环境并激活它: ``` conda create -n tf_gpu_env python=3.7 conda activate tf_gpu_env ``` 6. 在新环境中安装 TensorFlow-GPU 1.14.0: ``` pip install tensorflow-gpu==1.14.0 ``` 7. 安装完成后,您可以通过运行以下代码来验证 TensorFlow 是否正确安装并使用 GPU: ```python import tensorflow as tf print(tf.test.is_gpu_available()) ``` 如果输出为 True,则表示 TensorFlow 正确安装并且可以使用 GPU。 请注意,安装 TensorFlow-GPU 需要确保您的系统满足 CUDAcuDNN 的要求,并且您的 GPU 支持 CUDA。如果您遇到任何问题,请参考 TensorFlow 官方文档或在相关论坛上寻求帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值