<jupyter_start><jupyter_text>Installation- 파이썬 버젼 체크 (Python version Check)- 파이토치 설치 (PyTorch Installation)- 쿠다 및 CuDNN 체크 (Cuda & CuDNN Check)  1. Python Version Check파이썬 버젼 체크<jupyter_code>import sys
print(sys.version)<jupyter_output>3.6.7 (default, Oct 22 2018, 11:32:17) 
[GCC 8.2.0]<jupyter_text>2. PyTorch Installation- 구글 콜라브 버젼에 따라 파이토치가 설치되어 있을수도 있고 아닐 수도 있습니다.- 설치가 안되어 있을 경우 아래와 같은 명령어로 설치하면 됩니다.- !pip3 install torch torchvision<jupyter_code>import torch
!pip3 install torch torchvision<jupyter_output>Requirement already satisfied: torch in /usr/local/lib/python3.6/dist-packages (1.1.0)
Requirement already satisfied: torchvision in /usr/local/lib/python3.6/dist-packages (0.3.0)
Requirement already satisfied: numpy in /usr/local/lib/python3.6/dist-packages (from torch) (1.16.3)
Requirement already satisfied: pillow>=4.1.1 in /usr/local/lib/python3.6/dist-packages (from torchvision) (4.3.0)
Requirement already satisfied: six in /usr/local/lib/python3.6/dist-packages (from torchvision) (1.12.0)
Requirement already satisfied: olefile in /usr/local/lib/python3.6/dist-packages (from pillow>=4.1.1->torchvision) (0.46)<jupyter_text>3. Cuda & cudnn Version Check- 파이토치를 통해 각각 몇 버젼이 설치 되어있는지 확인해줍니다.<jupyter_code>import torch

print("Torch version:{}".format(torch.__version__))
print("cuda version: {}".format(torch.version.cuda))
print("cudnn version:{}".format(torch.backends.cudnn.version()))<jupyter_output>Torch version:1.1.0
cuda version: 10.0.130
cudnn version:7501<jupyter_text>4. Command Line cuda & cudnn Check- 쿠다 및 CuDNN 버젼은 커맨드라인 명령어로도 확인 가능합니다.<jupyter_code>!nvcc --version
!cat /usr/include/x86_64-linux-gnu/cudnn_v*.h | grep CUDNN_MAJOR -A 2<jupyter_output>#define CUDNN_MAJOR 7
#define CUDNN_MINOR 5
#define CUDNN_PATCHLEVEL 1
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)

#include "driver_types.h"<jupyter_text>5. PyTorch CPU & GPU Tensor Check- 파이토치 텐서를 생성해봄으로써 제대로 설치 되었는지, 잘 동작하는지 확인해줍니다.  5-1 Create CPU tensor<jupyter_code># https://pytorch.org/docs/stable/torch.html?highlight=tensor#torch.tensor
# 0으로 차있는 2x3 형태의 텐서를 생성합니다.
cpu_tensor = torch.zeros(2,3)
print(cpu_tensor)<jupyter_output>tensor([[0., 0., 0.],
        [0., 0., 0.]])<jupyter_text>5-2 Allocate tensor on GPU<jupyter_code># https://pytorch.org/docs/stable/tensor_attributes.html#torch.torch.device
# 어느 장치(cpu 혹은 gpu)에 텐서를 올릴지 지정합니다.
# 아래는 torch.device라는 함수를 사용해 gpu로 장치를 지정합니다. 
device = torch.device('cuda')

# https://pytorch.org/docs/stable/cuda.html?highlight=available#torch.cuda.is_available
# gpu가 사용 가능한지 확인해줍니다.
if torch.cuda.is_available():
  
  # https://pytorch.org/docs/stable/tensors.html?highlight=#torch.Tensor.to
  # cpu에 있었던 텐서를 to 함수를 이용해 지정해놓은 장치(여기서는 gpu)로 올려줍니다.
  gpu_tensor = cpu_tensor.to(device)
  print(gpu_tensor)<jupyter_output>tensor([[0., 0., 0.],
        [0., 0., 0.]], device='cuda:0')<jupyter_text>5-3 Reallocate tensor back on CPU<jupyter_code># device 함수와 to 함수를 이용해 gpu에 있던 텐서를 다시 cpu로 옮겨올 수 있습니다.
cpu_tensor_back = gpu_tensor.to(torch.device('cpu'))
cpu_tensor_back<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.1318609938291653, 'fraction_numerical': 0.037349788892497564, 'mean_word_length': 5.099009900990099, 'pattern_counts': {'":': 0, '<': 23, '<?xml version=': 0, '>': 26, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '7', 'dir': 'jupyter-structured-clean-dedup', 'id': '631767', 'license': 'MIT', 'n_tokens_mistral': 1545, 'n_tokens_neox': 1624, 'n_words': 278, 'path': 'Pytorch Basic/Using Google Colab.ipynb', 'repo_name': 'TaehoLi/Pytorch-secondstep', 'size': '3079'}