본문 바로가기
학부생나부랭이/_with_Python

Replacing the main language with Python (0)

by 호상 🐧 2022. 10. 3.

프로그래밍 주 언어 파이썬으로 바꾸기

사실 주 언어라고 할 수 있는게 없긴한데.....(3학년인데...?) 최근 스스로가 정말 많이 사용하고 있기도 하고, 임베디드 연구실에 거주(?) 하고 있지만 AI를 곁들인 임베디드를 하고 있다. 하지만 darknet 기반의 C 언어 보다는 Pytorch 기반의 Python 언어를 정말 많이 사용하고 있어 이참에 메인 언어를 파이썬으로 정착해보자 ....! 라는 심경으로 시작하게 된 배경이다. 

 

2학년까지는 자바를 정말 많이 사용했고, 3학년 1학기에는 C 언어를 사용했는데 이렇게 또 언어 공부를 다시 시작하려 하니 걱정이 좀 앞선다. 그래도 AI 는 파이썬 아니겠는가..! 차근차근 단계를 밟아 실력을 올려보자.

 

본 카테고리는 여러과제를 하며 파이썬 공부를 짧막하게나마 기록하기 위함으로 생성되었다.

 


from / import 

case 1 / case 2

기본적인 구조는 from (package) import (os / module) 

dofferemce between 'import' and 'from import' = 함수명 중복 방지   

example : mmediting

 

case 1 >

torch.nn.functional 를 import 하고 F 로 이름 하겠다. 

torch.nn.functional 은 os 혹은 module.

torch.nn.functional 은 Pytorch 를 install 하면 사용가능.

 

https://pytorch.org/docs/stable/nn.functional.html

 

torch.nn.functional — PyTorch 1.12 documentation

Shortcuts

pytorch.org

위 document 를 통해 사용 함수 등등을 확인 가능.

 

case 2>

상위 디렉토리의 registry.py 에서 MODELS 를 불러오겠다.

꼭 from (package) 일 필요는 없어 보인다.

 

Python Decorator @

Decorator 의 예제로 mmediting 을 할려고 했는데 당최 알 수 없는 코드의 늪에 빠져버려서 예제로 사용하지 못할것 같다. 따라서 이해한 내용을 가볍게 서술해 보려 한다.

 

decorator 를 이해하기 위해 예제 코드이다. 먼저 x 라는 함수를 정의한 후 name, work 라는 함수에 decorator @x 를 사용하여 실행을 진행 하였다. 

 

요즘은 terminal 을 사용하는게 익숙해 져서 그런지 웬만하면 실행을 terminal 로 하곤한다.

 

실행 결과를 보면 x 함수의 print 를 포함하여 prameter func 를 넣어주지 않아도 출력 된것을 확인 할 수 있다. 찾아보니 decorator 의 주요 기능 중 하나는 코드 간편화? 깔끔한 코드를 구성할 수 있다는 장점이다.  또한 함수의 재사용성을 높여  특정 기능을 편리하게 사용할 수 있다.

 


요즘 연구실 과제를 진행하면서 파이썬 코드를 눈이 빠져라 쳐다보고 있는데 사실 언어보다 software 구성..? 구조가 더 엄청 진심으로 어려운것 같다.

댓글