*우분투

GPU사용현황

-nvidia-smi

deb파일 설치 과정

-

home에서 vim .bashrc

-기본적인 환경변수들 지정가능, 우분투 기본 옵션 할당하는 것 인듯?

파일권한변경

-chmod 755 파일명




*파이썬

list합치기

-list1 + list2

FLAG사용하는 이유

-FLAG에 새로운 값 넣으면서 실행가능, 작성시 default값 줄 수 있음

-try, except, else, finally, pass, raise, 

몇가지 필요한 습관

-None이 return시 raise를 써서 에러, 주석, 처리해주어야 함(if none:)

-Naming Rule

-파일명은 소문자

-Class은 대문자로 시작

-상수는 올 대문자

-_Private 함수는 _로 시작

-Public함수는 그냥 시작

-하드코딩 금지(최대한 빨간글자 줄이기)

-가능한 요소들은 최대한 클래스화

-모든 함수, 클래스에 정해진 형식의 주석 삽입

-외부 설정파일은 하나로 공유

-중복 코드 금지

-긴 코드 최대한 모듈화

-테스트용 코드는 반드시 분리

-최대한 자주 Git활용

-getter, setter in python(인자 여부로 구분가능)

-Issue Tracking 남기기, 항상 Issue가 생기면 먼저 Trello같은 곳에 남기고, 해결되어도 issue 지우지말고 남겨두기

-모든 python process 종료, pkill -9 python

-pyc만들기, import py_compile 이후 py_compile.compile(file), pyc로 만들 file.py를 입력하면, 실행한 폴더에 __pycache__ 폴더가 새로 생기며 거기에 pyc생김

-//은 몫, %은 나머지, /은 나누기(정수로가 아니라 그냥 나누기 연산, 예를 들면 10/4 = 2.5)

-


*numpy관련

np.array(list, dtype= ) # list 를 np array 클래스로 만듦

np.array[np.array([2,1])] 이렇게 np.array에 np.array를 넣어서(index) 해당 index의 값과 순서를 고려해서 array를 slicing 및 수정 가능

np.array[2:23]으로 slicing도 가능

np.arange(10) # 0부터 시작해 10이전까지 등차가 1인 np array를 출력

np.arange(3, 21, 2) # 3부터 시작해서 등차가 2이고 21이전까지 등차수열 np array를 출력

np.random.permutation(np.array) # np.array를 임의로 섞어 은 np.array를 출력





*Tensorflow

tf.Variable

tf.constant

tf.placeholder

3개의 구분

Variable은 Variable

나머지 둘은 tensor

Variable은 학습하여 얻은 행렬 및 값에 쓰임, 왜냐하면 저장 및 복구가 가능

constant는 w2v.npy불러와서 쓰이듯 고정값으로만 씀

placeholder는 같은 연산, 행위를 반복하되 변수를 바꿔서 넣어야할 때 쓰임, 따라서 입력벡터, 라벨링벡터 등에 쓰임


tf.one_hot(indices, depth, on_value, off_value, axis, dtype, name) # depth길이 만큼의 벡터들로 index에 해당하는 위치에 on_value, 아닌 위치엔 off_value를 넣는 벡터들을 출력


tf.Session() # tensorflow 연산들을 실행하기 위한 클래스

with tf.device(장치명): # 특정 작업을 특정 device에 배치

tf.ConfigProto(...)

  device_count = {'GPU' :0} # 지정한 장치(GPU/CPU)의 사용할 최대 개수 정하기

  log_device_placement = T/F # 연산이나 텐서가 어떤 device를 쓰는 지 log해줌

  gpu_options.allow_growth = T/F # 필요한 만큼만 GPU메모리 할당 하였다가 이후 더 필요하면 증가, 하지만 증가된게 줄어들진 않음

  gpu_options.per_process_gpu_memory_fraction = 0~1 # GPU의 메모리의 일정 부분만 할당

  allow_soft_placement = T/F # 명시된 device가 없어서 작동안될 시에 tensorflow가 자동으로 존재하는 device중 선택


tf.nn.embedding_lookup

tf.nn.bidirectional_dynamic_rnn

tf.contrib.rnn.BasicLSTMCell

tf.contrib.rnn.DropoutWrapper

tf.contrib.rnn.MultiRNNCell

tf.concat


*git

git clone -b name url

-복사하라(clone), -b(branch하나파서), name란 브랜치로, url의 파일을

git add main.py

-git이 변경사항을 알아처먹을 파일 지정

git status

-내가 수정한 내용들을 알려줌

git config

??

git commit -m "[TST] commit test"

-commit하라, -m(message)를 던지겠다, [xxx]에 대한 규칙은 git.md참고

git push

-git웹사이트에 commit 내용 반영



'컴퓨터과학 > 기본' 카테고리의 다른 글

컴퓨터공학  (0) 2018.03.20

+ Recent posts