Depois de instalar o sistema ubuntu, iniciaremos o processo de aprendizado profundo. O primeiro é configurar a linguagem python, uma variedade de estruturas de aprendizado profundo e o ambiente de vários pacotes de instalação.
Este artigo irá apresentar o seguinte:
- Instale o anaconda no sistema linux
- Instale tensorflow2.0 no sistema linux
- Instale o pytorch no sistema linux
- Comparação simples de pytorch, tensorflow1.0, tensorflow2.0
A instalação deste artigo depende do anaconda (porque é muito simples). Se você deseja instalar o aplicativo por conta própria, pode consultar este artigo: Instale o processo de versão CUDA, cuDNN e tensorflow-gpu em ubuntu16.04
Um, instale o anaconda no sistema linux
1. Baixe o anaconda do site
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-5.2.0-Linux-x86_64.sh
2. Instale o anaconda
bash Anaconda3-5.2.0-Linux-x86_64.sh
3. Atualize a fonte de download do conda
Digite o seguinte no terminal:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
4. Comandos comumente usados do Anaconda
conda --version # 获取conda版本号
conda info --envs # 获取当前所有虚拟环境
source activate 【your_env_name】# 进入某个环境
source deactivate # 退出当前环境
conda create --name 【new_env_name 】--clone 【old_env_name】 # 复制某个环境
conda remove --name 【your_env_name 】--all # 删除某个环境
conda list # 查看当前环境中有哪些安装包
Em segundo lugar, instale tensorflow2.0 no sistema linux
1. Instale o driver gráfico nvidia
Antes de começar a instalar o tensorflow2.0, primeiro determinamos se o sistema linux instalou o driver gráfico nvidia.
Não vou entrar em detalhes aqui. O site recomendado para operação detalhada é o seguinte: Instale o driver da placa de vídeo nvidia no modo de execução do sistema ubuntu16.04
Como visualizar as informações específicas do driver da placa de vídeo, consulte outro artigo do autor: modelo de placa de vídeo de exibição de sistema Linux-ubuntu, informações detalhadas Diagrama de escada de gráficos
2. Instale o tensorflow2.0
1) Use o anaconda para instalar o tensorflow2.0
Use conda para criar um ambiente virtual python (-clone é recomendado aqui, spyder4.1.2 é recomendado)
conda create --name 【new_env_name 】
O comando para instalar tensorflow2.0 é o seguinte ( este comando instalará automaticamente os pacotes CUDA e cuDNN ):
conda install tensorflow-gpu==2.2.0
2) Baixe manualmente o pacote de instalação tensorflow2.0 e instale diretamente
Muitas vezes use o anaconda para instalar o tensorflow2.0 porque o arquivo é grande e o download será interrompido.Neste momento, é recomendado fazer o download e instalar manualmente.
Digite o seguinte comando no terminal ubuntu para ver as informações da versão necessária do cuda e cudnn
conda install tensorflow-gpu==2.1.0
As informações da versão e o endereço de download necessários para cuda e cudnn são os seguintes:
insira os dois links correspondentes a cuda e cudnn, pesquise e baixe de acordo com o nome do pacote e
use o comando conda install para instalar diretamente cuda e cudnn
conda install --offline cudnn-7.6.5-cuda10.1_0.tar.bz2
conda install --offline cudatoolkit-10.1.243-h6bb024c_0.tar.bz2
O uso da fonte Douban para baixar tensorflow
foi verificado muitas vezes e este método é rápido, tem uma alta taxa de sucesso e é eficaz.
pip install tensorflow-gpu==2.1.0 -i https://pypi.doubanio.com/simple
Use o seguinte método para verificar se o tensorflow instalado é a versão gpu
Entre python3
na interface de comando python no terminal , digite o seguinte comando, se o resultado de retorno for True, é a versão gpu, caso contrário, não é.
import tensorflow as tf
tf.test.is_gpu_available()
O processo específico é o seguinte:
Após a instalação, a seguinte mensagem de erro pode aparecer quando o editor spyder é iniciado. Você pode clicar no link abaixo para resolver a
mensagem de erro da seguinte maneira:
TypeError: handle_get_file_code() got an unexpected keyword argument ‘save_all‘
O link da solução é o seguinte:
https://blog.csdn.net/TFATS/article/details/110424064
Três, instale o pytorch no sistema linux
1. Instalação direta do comando do site oficial pytorch
Entre no site oficial da pytorch e baixe a seguinte imagem:
Como às vezes a velocidade de download automático é muito lenta, você pode usar os seguintes métodos para baixar e instalar
2. Instale após o download no site oficial
Ou você pode ir diretamente para o URL de download para baixar https://download.pytorch.org/whl/torch_stable.html .
De acordo com o comando de download gerado após selecionar os números das versões de tocch, python, torchvision e cuda no site oficial, encontre esses dois arquivos de download e faça o download.
Conforme mostrado na figura abaixo: O
nome do arquivo de download com parâmetros é explicado a seguir:
3. Instale o pytorch
Os dois arquivos de download após o download são os seguintes:
pip install torch-1.6.0+cu101-cp36-cp36m-linux_x86_64.whl
pip install torchvision-0.7.0+cu101-cp36-cp36m-linux_x86_64.whl
Quarto, basta comparar pytorch, tensorflow1.0, tensorflow2.0
1 , tensorflow1.0
# 1 + 1/2 + 1/2^2 + 1/2^3 + ... + 1/2^50
import tensorflow as tf
print(tf.__version__)
x = tf.Variable(0.)
y = tf.Variable(1.)
print(x)
print(y)
# x = x + y
add_op = x.assign(x + y)
# y = y / 2
div_op = y.assign(y / 2)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
for iteration in range(50):
sess.run(add_op)
sess.run(div_op)
print(x.eval()) # sess.eval(x)
# -----output-------
1.15.0
<tf.Variable 'Variable_12:0' shape=() dtype=float32_ref>
<tf.Variable 'Variable_13:0' shape=() dtype=float32_ref>
2.0
2 , pytorch
import torch
assert torch.cuda.is_available()
print(torch.__version__)
x = torch.Tensor([0.])
y = torch.Tensor([1.])
for iteration in range(50):
x = x + y
y = y / 2
print(x)
# -----output--------
1.6.0+cu101
tensor([2.])
3 , tensorflow2.0
import tensorflow as tf
# tf.enable_eager_execution() # tensorflow在1.6版本后添加了此启用动态图机制功能;2.0版本移除了该方法。
tf.compat.v1.enable_eager_execution() # tensorflow在2.0版本后默认自动开启动态图机制功能;手动开启方法如上。
print(tf.__version__)
x = tf.constant(0.)
y = tf.constant(1.)
for iteration in range(50):
x = x + y
y = y / 2
print(x.numpy())
# ------output-------
2.2.0
2.0