전체 글 85

Alfred workflow 에서 spotify 제어하기

먼저 MacOs를 사용하고 있으며 spotify와 alfred3(파워팩)도 즐겨 사용하고 있어야 한다.정확히 말하자면 이건 alfred에 키워드나 단축기 설정한 걸로 직접 spotify에 접근하는 일반적인 workslow는 아니고 alfred같은, spotify를 제어하는 프로그램을 alfred 단축기로 열어서 사용하는 형식이다.그래서 이름도 spotifious이다ㅋㅋㅋ 참고로spotify → https://itunes.apple.com/us/app/spotify-music/id324684580alfred3 → https://www.alfredapp.com/ spotify로 계속 음악을 틀어놓고 뭔갈 하는걸 좋아하는데 동시에 하는게 많아지다 보니 spotify까지 커서와 화면을 움직이는 것도 너무 귀찮아..

기타 메모 2018.12.17

[**kwargs] [assert]

함수를 만들 때 인수로 *args를 넣으면 (정확하게 말하자면 * 를 붙인 인수인데 보통은 저렇게 적으니까) 0개 이상의 인수가 들어올 수도 있고 아닐 수도 있으며 입력될 때에는 몇 개나 입력이 될지 정해놓지 않았다는 이야기가 된다. 1. **kwargs 하지만 인수 중에는 키워드 인수라는 것이 있다.이건 값을 정해놓은 인수를 말하며 함수를 만들 때 키워드 인수는 가장 마지막으로 가야 한다. 예로, 아까 올린 pathlib글에 적은 함수를 약간 수정해서 가져오겠다.import torch from torchtext.data import Dataset, Example, Field, LabelField, RawField import csv class DataLoadwithPath(Dataset): urls =..

파이썬3 노트 2018.12.17

pathlib 이야기: [Path.open()] [Path.home()] [exists()] [mkdir()]

파이썬으로 파일을 불러오는데 있어서 pathlib은 중요하다.나는 항상from pathlib import Path dir_folder = Path('file path') file1 = dir_folder / 'file name' file2 = dir_folder / 'folder name' / 'file name' def load(file: Path): with open(file, mode='r') as f: ....혹은import pathlib dir_folder = pathlib.Path(__file__).parent() file1 = dir_folder / 'file name' def load(file: pathlib): with open(file, mode='r') as f: ...와 같이 pat..

파이썬3 노트 2018.12.15

[return] [yield] [yield from]

파이썬3.+ 에서 함수를 만들 때 마지막에 return을 적으면 return 뒤에 나오는 값을 반환하고 함수를 끝낸다. 예를 들어, 아래와 같은 함수가 있다고 하자.def noniter(file: Path): datum = [] with open(file, mode='r', encoding='utf-8') as f: csvf = csv.reader(f) for line in csvf: data = (line[1], tokenize(line[3])) datum.append(data) return datum이 함수에 파일 인수를 입력해 실행하면 datum을 반환하고 멈춘다. 하지만 yield는 다르다.return과 달리 함수가 처리한 결과를 반환하고도 처리할 인수가 남았으면 다시 함수를 돌린다.예를 들어, ..

파이썬3 노트 2018.12.15

oh my zsh!

macbook pro를 새로 샀다.iTerm2의 환경을 oh my zsh!로 만들어보자. 1. 설치(via curl) iTerm2에다 아래를 복붙하시면 된다.sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" 2. 테마 아래 사이트에 가면 테마 목록이 쫙 있고 미리보기 사진도 있다. 맘에 드는 것을 골라 링크를 누르면 된다.https://github.com/robbyrussell/oh-my-zsh/wiki/themes많이들 agnoster로 하던데 나는 pygmalion이 제일 이쁜 것 같아서 pygmalion으로 설정했다.참고로 기본 테마는 robbyrussell이다. 기본 > robbyru..

기타 메모 2018.12.11

데이터 사이언티스트가 알고 있어야 할 5 가지 클러스터링 알고리즘

원문 기사: https://towardsdatascience.com/the-5-clustering-algorithms-data-scientists-need-to-know-a36d136ef68The 5 Clustering Algorithms Data Scientists Need to Know이 글에 나오는 모든 사진은 원글에서 가져온 것임 기계학습에서 사용하는 클러스터링(clustering)이라는 기술은 data point set을 기준으로 비지도적으로 분류하기 위한 것이다.이론에 따르면 같은 그룹 안에 속한 data points는 특징과 비슷한 속성을 갖고 있어야 하지만 다른 그룹에 속하는 data points는 특징과 비슷하지 않은 속성을 가져야 한다. 데이터 사이언스에서 우리는 클러스터링 알고리즘에 ..

Medium 노트 2018.10.25

pytorch 공부: [nn.Sequential][nn.ModuleList]

10월 안에 CNN-LSTM모델을 짜야 하는데 논문 구현해 놓은 깃허브를 보니 계속 nn.Sequential과 nn.ModuleList가 나와서 정리해야겠다 싶었음. [nn.Sequential]이것은 입력값이 하나일 때, 즉 각 레이어를 데이터가 순차적으로 지나갈 때 사용하면 좋은 방법이라는 것 같다.간단히 말하자면 여러 nn.Module을 한 컨테이너에 집어넣고 한 번에 돌리는 방법이다. 구글에서 찾은 예제를 바탕으로 적당히 적어보면 아래와 같다. import torch import torch.nn as nn class CNNModel(nn.Module): def __init__(self, class_num, filter_num, num): super().__init__(): self.layer1 = ..

파이썬3 노트 2018.10.16

GloVe란 무엇인가?

원문 기사: https://towardsdatascience.com/emnlp-what-is-glove-part-i-3b6ce6a7f970[EMNLP] What is GloVe? Part 1~Part5 - Brendan Whitaker이 글에 나오는 모든 사진은 원글에서 가져온 것임. 공기(共起) 행렬을 이용한 비지도 워드 embedding 수법에 대한 소개GloVe 제안 논문: http://www.aclweb.org/anthology/D14-1162 GloVe: Global Vectors (for word representation)-> 전역행렬(global matrix) 분해와 local(국소, 국지) 문맥 window 이용 전역 행렬 분해(Global matrix factorization)-> 자연..

Medium 노트 2018.10.06

모듈/함수 공부: [__hash__()][Collections-Counter]

파이썬 도큐멘트에 따르면 이 모듈은 파이썬 내장 컨테이너 dict, list, set, tuple을 대신하는 특수한 컨테이너 데이터형을 구현하기 위한 것이라 한다. 다 보면 좋겠지만 당장 필요한 것은 Counter에 대한 지식이므로 다른 것은 스킵! [Counter]: hashable한 오브젝트를 세는 사전의 서브클래스 [__hash__()]대체 hashable한 것이 무언가 싶어 찾아보니 hash function이 나왔다. 위키피디아에 따르면 '임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수'라 한다. 이건 한국어판 위키고 일본어판을 보면 '어떤 데이터가 주어졌을 때 그 데이터를 대표하는 수치를 얻는 조작 또는 그러한 수치를 얻기 위한 함수'라고 나와있다. 이거 좀 다른거 아닌가..?? 내..

파이썬3 노트 2018.08.11