PyTorch 연습

6437 단어 PyTorch

(1) PyTorch installation

(bash) $ conda create -n py37_pytorch python=3.7 anaconda

(bash) $ conda activate py37_pytorch

(py37_pytorch) $ conda install pytorch torchvision -c pytorch

## Package Plan ##

  environment location: /home/[username]/.pyenv/versions/anaconda3-5.2.0/envs/py37_pytorch

  added / updated specs:
    - pytorch
    - torchvision

(2) IP 주소 확인

$ ip -f inet addr
1: lo: <LOOPBACK,UP,LOWER_UP> 

2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> 
    inet aaa.bb.cc.ddd/ee brd PPP.QQ.RR.SSS scope global noprefixroute eno1
       valid_lft forever preferred_lft forever
위에서 말한 바와 같이, 여기는 "aa.bb.cc.ddd"를 기억해야 한다.

(3) 원격 설정


참조https://qiita.com/syo_cream/items/05553b41277523a131fd
우선, Jupter에 사용할 비밀번호를 설정합니다.
(py37_pytorch) $ cd ~/.jupyter/
(py37_pytorch) $ jupyter notebook password

Enter password: 
Verify password: 
[NotebookPasswordApp] Wrote hashed password to /home/[username]/.jupyter/jupyter_notebook_config.json

(py37_pytorch) $ ls
jupyter_notebook_config.py
jupyter_notebook_config.json

jupyter_notebook_config.py는 이미 있다.
이거 편집해.
구체적으로 덧붙인 것은

# これを最初の行に入れる!
c = get_config()

# Notebook上でplotを表示できるようにする [これはまだやっていない。]
# c.IPKernelApp.pylab = 'inline'

# 全てのIPから接続を許可
c.NotebookApp.ip = '*'

# IPython notebookのログインパスワード
c.NotebookApp.password = '[jsonファイルに書かれている
ハッシュ化されたパスワード]'

# 起動時にブラウザを起動させるかの設定
c.NotebookApp.open_browser = False
# ポート指定
c.NotebookApp.port = [接続ポート]

[접속 포트]의 기본값은 8888입니다.하지만 샷도 까다로워 신중을 기하기 위해 다른 숫자를 썼다.

(4) 원격 점프


이상은 모두 SSH에서 진행됩니다.마지막으로, SSH 이전에
$ jupyter notebook
미리 하다.로컬 컴퓨터로 브라우저 탐색
http://aaa.bb.cc.ddd:[포트 연결]
이렇게 하면 비밀번호가 필요하기 때문에 비밀번호를 입력하면 원격 환경에서 Jupter를 사용할 수 있다.

(5) PyTorch


"Deep Learning with PyTorch"(Eli Stevens, Luca Antiga, and Thomas Viehmann)
https://github.com/deep-learning-with-pytorch/dlwpt-code
chapter 2. Pretrained networks
chapter 2.6 Exercises
Feed the image of the golden retriever [shetland sheepdog] into the horse-to-zebra model.
  • What do you need to do to the image to prepare it?
  • What does the output look like?
  • shetland_sheepdog에서 Google이 검색한 이미지 (mv library dog shetland sheepdog.pg) 를 jpg로 변환한 후 horse-to-zebra 모델에 넣으면 '얼룩말 모양의 개' 가 됩니다.

    chapter 3.14 Exercises
    Create a tensor a from list(range(9)). Predict and then check the size, offset, and stride.
    import torch 
    a = torch.tensor(list(range(9)))
    a
    # tensor([0, 1, 2, 3, 4, 5, 6, 7, 8])
    
    a.size()
    # torch.Size([9])
    
    a.storage_offset()
    # 0
    
    a.stride()
    # (1,)
    
    a.storage()
    # 0
    # 1
    # 2
    # 3
    # 4
    # 5
    # 6
    # 7
    # 8
    # [torch.LongStorage of size 9]
    
    Create a new tensor using b = a.view(3, 3). What does view do? Check that a and b share the same storage.
    b = a.view(3, 3)
    b
    #tensor([[0, 1, 2],
    #        [3, 4, 5],
    #        [6, 7, 8]])
    
    b.size()
    # torch.Size([3, 3])
    
    b.storage_offset()
    # 0
    
    b.stride()
    # (3, 1)
    
    id(a.storage)==id(b.storage) ## storageを比較する。
    # True
    
    Create a tensor c = b[1:,1:]. Predict and then check the size, offset, and stride.
    c = b[1:,1:]
    c
    # tensor([[4, 5],
    #        [7, 8]])
    
    c.size()
    # torch.Size([2, 2])
    
    c.storage_offset()
    4
    
    c.stride()
    # (3, 1). ### ここは予想と違った。なるほどである。
    
    
    id(a.storage)==id(c.storage)  # aとcはstorageは同じ。
    # True
    
    Pick a mathematical operation like cosine or square root. Can you find a corresponding function in the torch library?
    Apply the function element-wise to a. Why does it return an error?
    torch.cos(0.)
    # --------------------------------------------
    # TypeError Traceback (most recent call last)
    # <ipython-input-16-191b65904589> in <module>
    # ----> 1 torch.cos(0.)
    #
    # TypeError: cos(): argument 'input' (position 1) must be Tensor, not float
    
    What operation is required to make the function work?
    torch.cos(a)
    # tensor([ 1.0000,  0.5403, -0.4161, -0.9900, -0.6536,  0.2837,  0.9602,  0.7539,
            -0.1455])
    
    Is there a version of your function that operates in place?
    これはよくわからない。
    

    좋은 웹페이지 즐겨찾기