전체 글

전체 글

    [Pytorch] 모델 구조 확인, parameter확인

    모델 구조(architecture) 확인하기 model = models.resnet50(pretrained = True) print(model) 모델 파라미터(parameter) 확인하기 - parameters() for name, param in model.named_parameters(): count+=1 if count==1: print(param.size()) print(name) torch.Size([64]) conv1.1.weight 모델 파라미터(parameter) 확인하기 - children() for child in model.children(): count += 1 if count == 2: print(child) children()에서 name변수를 이용하면 현재 parameter(l..

    [pytorch] tensor 초기화 및 속성

    텐서(Tensors) 텐서는 배열 및 행렬과 비슷한 특수 데이터구조로, Pytorch에서는 텐서를 사용하여 모델 입출력과 파라미터 값을 인코딩해서 사용한다. Tensor는 numpy의 ndarray와 비슷하며 다른점이 있다면 GPU 기반에서 동작한다는 점이 다르다. 텐서의 initialization(초기화) 텐서를 초기화 하는 방법은 3가지 정도가 있다. 1. 직접 초기화 (데이터 타입은 자동 할당) data = [[1,2],[3,4]] x_data = torch.tensor(data) print(x_data,type(x_data)) ---------output---------- tensor([[1, 2], [3, 4]]) 2. ndarray에서 초기화 ( tensor-ndarray bridge) 아래 ..

    [python] list앞에 붙은 * (unpacking)

    unpacking을 이해하기 위해 아래와 같은 함수가 있다고 가정해보자 def print_numbers(a, b, c): print(a) print(b) print(c) 위의 print_numbers함수에 (10,20,30)을 넣어주면 10, 20, 30이 각 줄에 출력될 것이다. unpacking 인수를 순서대로 넣을 때 리스트나 튜플을 사용할 수 있는데, 리스트와 튜플 앞에 *(애스터리스크)를 붙여 인자들을 일일히 넘기는 효과와 같은 효과를 준다. 즉 "리스트의 포장을 풀어준다"라고 이해하면 된다. 함수 (*리스트) 함수 (*튜플) x = [10, 20, 30] print_number(*x) 위 함수는 위와 같은 출력의 결과를 갖게 된다. [ ref ] https://dojang.io/mod/page..

    [Pytorch] model.train(), model.eval() 의미

    https://stackoverflow.com/questions/60018578/what-does-model-eval-do-in-pytorch/60018731#60018731 What does model.eval() do in pytorch? I am using this code, and saw model.eval() in some cases. I understand it is supposed to allow me to "evaluate my model", but I don't understand when I should and shouldn't use it, or how... stackoverflow.com nn.Module에는 train time과 evaluate time에 수행하는 다른 작업을 sw..

    [python] python 파일내에 terminal 명령어 포함하는 방법

    자동화 스크립트 파일을 작성하다보면 python 파일 하나로 프로그램을 구동 및 터미널에서의 작업도 함께 작성하고 싶어질 때가 있다. Terminal에서 처리하고 싶은 명령어를 파이썬 파일에 아래 방식으로 추가하면 terminal 명령어도 문제없이 실행된다. # test.py import os, sys dir_path="./test" terminnal_command = f"mkdir {dir_path}" os.system(terminal_command) terminal_command = "명령어" os.system(terminal_comman) 파이썬 파일 내에서 dir_path를 지정하고, 이 스크립트가 수행됨에 따라 해당 dir_path에 디렉토리를 생성하고 싶다면 위와 같이 터미널 명령어를 작성하면..

    [mac] vim 에디터 color scheme

    mac OS 기준 vim color scheme setting 방식 vim 에디터는 테마를 설정하지 않으면 아래처럼 코딩하기는 물론! 보기도 싫게 생겼다. 본 포스팅에서는 color scheme을 다운받아 적용하는 방법을 기록한다. vim color schme 다운로드 https://www.slant.co/topics/480/~best-vim-color-schemes 이 곳에 가면 다양한 vim 테마들을 다운받을 수 있다. 원하는 테마를 다운받으면 되는데 해당 테마의 github에 가면 colors라는 디렉토리에 .vim 파일이 존재한다. 그 파일을 다운받으면 되는 것이다. 나는 molokai테마를 선택했고, molokai.vim에 있는 내용을 그대로 복붙해서 직접 molokai.vim파일을 생성해 붙여..

    [python][basic] 파일 열고 닫기 (open, close)

    파일은 텍스트 파일과 바이너리 파일 두 가지 종류가 있다. 텍스트 파일 : 사람이 읽을 수 있는 글자로 저장된 파일 바이너리 파일 : 컴퓨터가 읽고 이해할 수 있는 이진 데이터를 기록한 파일 이미지 뷰어로 볼 수 있는 JPG 이미지 파일은 이미지의 이진 데이터를 JPG 형식의 파일로 저장한 바이너리 파일이다. 파이썬에서 파일을 다루는 방법 open (파일이름, 모드) 파일 이름 : 파일이 존재하는 절대경로나 상대경로 모드 : 파일을 오픈하는 모드 r / rt : 텍스트 모드로 읽기 w / wt : 텍스트 모드로 쓰기 a / at : 텍스트 모드로 파일 마지막에 추가하기 rb : 바이너리 모드로 읽기 rw : 바이너리 모드로 쓰기 ab : 바이너리 모드로 파일 마지막에 추가하기 open()함수는 파일을 정..