일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- conda: command not found
- ML
- essential deep learning paper reading
- conda오류
- 리눅스
- pytorch tensor
- anaconda오류
- 머신러닝
- 텐서
- 공부
- Machine Learning
- Tensor
- 리눅스 오류
- torch
- conda
- pyTorch
- Ai
- Today
- Total
목록전체 글 (21)
JJJ
Depth AnythingDepth Anything: Unleashing the Power of Large-Scale Unlabeled DataBrief lookover before reading monocular depth estimation foundation model models which are pretrained on vast amount of data semi-supervised learning unlabeled data를 활용하는 학습방식. labeled data로 학습된 teacher model을 가지고, unlabeled data의 pseudo depth map을 만들어, 새로운 student model에 labeled, unlabeled data를 supervised learning으..
* Computer Vision 관련 논문을 읽으면서 나오던 생소한 단어들을 공부할 수 있음! * 스토리와 인과관계가 명확한 아주 감사한 글임! https://johnwlambert.github.io/stereo/
혼자 무언가를 공부하다보면 '내가 이걸 잘 배우고있는게 맞나?' 라는 생각이 든다. 배우는 법에 대한 호평을 받는 강의가 Coursera에 무료로 올라와 있어 이를 수강 및 정리해 보려 한다. 목적: 강의를 들으며 얻은 인사이트 공유 예상 결론: 내가 배운 점을 설명 가능하며, 이 강의가 필요할 사람을 구체적으로 인지하고 글로 풀 수 있길 바란다.
다른 분이 작성한 PyTorch 코드를 보던 중, Dataset.__getitem__(index) 메서드에서 하드, 서버에 저장된 데이터를 불러오도록 구현한 것을 확인하였다. __getitem__(index) 는 학습 과정에서 사용되는 매서드인데, 학습 과정에서 batch를 만들기위해 매번 하드에 접근한다면 큰 시간적 비효율이 있을텐데 왜 이렇게 다들 구현을 한건지 궁금해졌다. 그래서 찾아보던 중 PyTroch의 똑똑한 기능을 알게되어 공유해본다. PyTrorch의 DataLoader는 기본적으로 병렬 프로세싱을 지원해 다음과 같이 CPU, GPU 자원을 시간효율적으로 사용할 수 있도록 지원한다. 여기서 병렬 프로세싱은, 아래처럼 GPU가 forward와 backward를 수행하는 동안, CPU는 디스크..
https://dacon.io/en/codeshare/4444
Kaggle Competition을 진행하는 요즘, 나는 어디서부터 어떻게 건드려야 할지 모르는 기분에 압도당한적이 정말 많았다. 그러던 중, 우연히 기업 채용 공고에서 "Problem Solving"이란 키워드를 보았다. 주먹구구로 접근하는 듯 한 나의 모습에 초라함을 느끼던 찰나, '대학교 때 교양수업을 듣던 것 처럼, 인터넷에 있는 엔지니어링 Problem Solving 강의를 들어보면 어떨까?' 생각을 해보았다. 하나씩 영상을 정리해서 올려보겠다 :) 영상은, 우리가 어떤 문제를 마주했을 때 그 문제를 어떻게 풀어야 하는지에 대해 말한다. 화자인 Ariana Glantz는 "solution minded"라고 한다. 이는 마인드셋으로, 모든 문제에는 해결책이 존재하고, 우리가 그곳에 도달할 길을 가..
왜 사용할까? batch normalization을 사용하는 이유는 1)학습 효율향상, 2)Regularization 때문입니다. 다시말해, batch normalization을 적용 시 1)모델이 훨씬 빠르게 학습되고 2)general feature또한 더 잘 찾아내 성능도 더 좋아진다고 생각해 볼 수 있을 것 같습니다. 어떻게 가능할까? 어떻게 이것이 가능할까요? 딥러닝의 학습 방식에는 한가지 문제가 있습니다. 바로 학습이 되면서 레이어들의 parameter가 계속해서 업데이트 되기 때문에, 각 레이어들의 output 또한 매번 다른 분포를 출력하게 되어, 그 값의 범위가 들쭉날쭉 해진다는 점 인데요.(internal covariate shift) 딥러닝은 레이어의 출력에 비선형함수를 달기 때문에 출..
*논문 요약 *해당 논문은 dropout이 나온지 2년 뒤, resnet이 나온지 1년 뒤인 2016년에 나온 논문입니다. - 매우 깊은 신경망을 학습하는 것에는 여러 난관들이 따른다. - gradient vanishing, forward flow diminishing, slow training time 등의 문제들이 있다. - Training 할 때, 각 mini-batch 마다, 레이어의 부분집합들을 랜덤하게 drop 하고, 이전 입력을 출력으로 forward 시켜주면, - training time을 확연히 줄어들고, 거의 모든 데이터셋에서 test error을 많이 개선하며, residual networks 의 depth를 훨씬 깊게 만들어 기존보다 더 좋은 결과가 나옴을 확인할 수 있다. on p..
1D CNN 이란 녀석의 동작과 특징 등이 궁금해 공부해 보며 해당 2019년 서베이 논문을 읽고 3줄로 요약해 보았다. 동작은, 짧은 1D 필터가 긴 1D데이터 막대기를 지나가며 convolution 연산을 수행한다고 생각하면 된다. - 1D data 에서 feature을 추출한다. - 2D CNN에 비해 상대적으로 얕은 깊이와, 작은 크기의 필터로 매우 좋은 성능을 보인다. - 그래서 computational cost가 정말 적게 든다. 모바일 기기에서 CPU로 충분히 동작할 정도이다. https://www.kaggle.com/competitions/asl-signs/discussion/406684 Google - Isolated Sign Language Recognition | Kaggle www...
캐글 공모전을 공부하던 중, 처음보는 parquet이란 데이터타입을 봤다. .parquet 타입은 하둡에서 칼럼방식으로 저장하는 저장 포맷이다. 압축율이 높아서 효율적으로 활용되는 저장방식이라고 한다. 향후 대용량 데이터를 다룰 때 유용할 것 같다. 데이터 출처: (내가 지금 공부중인 competition) https://www.kaggle.com/competitions/asl-signs/ 의 데이터타입을 보다가 다루게 됨. 공부 출처: https://butter-shower.tistory.com/245
https://madalinabuzau.github.io/2016/11/29/gradient-descent-on-a-softmax-cross-entropy-cost-function.html Gradient descent on a Softmax cross-entropy cost function In this blog post, you will learn how to implement gradient descent on a linear classifier with a Softmax cross-entropy loss function. I recently had to implement this from scratch, during the CS231 course offered by Stanford on visua..
https://gaussian37.github.io/math-pb-averages/ 산술, 기하, 조화 평균 gaussian37's blog gaussian37.github.io 해당 블로그의 포스팅을 보고 확실하게 이해할 수 있었다. 평균값에 대해 더 깊게 이해할 수 있었고, 데이터를 더 넓은 관점으로 해석할 수 있을 것 같다.
표본추출된 mini-batch내부 각 feature 값들의 mean, std를 구해 정규화를 진행해준다. https://docon.tistory.com/37: 더 자세한 분석입니다! Batch에 어떤 크기의 데이터들이 있든 관계없이, 샘플단위로 normalization을 시켜준다. 요점은, 내가 가져온 데이터 혹은 모델 내부에서의 latent vector가 어떤 연산을 하게되는지에 따라 적절한 Normalization 방식을 채택하면 좋을 것 같다. 예를들어, 데이터의 feature중, 특정 feature의 분포가 너무 큰 경우는 Gradient Exploading 등 학습 중 장애가 우려되기에, batch normal..
[ 강의 키워드 ] Syntatic Structure : "구문 구조", 문장을 하위구조로 쪼개어 보는 것 Constituency Structure : "구성 구조", 구문구조 방법중 하나 Dependency Structure : "의존 구조", 구문구조 방법중 하나 Universial dependencies : 위의 Constituency Structure 와 Dependency Structure 를 동시에 사용하는 구조 Dependency Grammar : 말그대로 의존구조의 문법 Treebank : 구문 분석한것을 tree 구조로 저장해놓은 것(사이트) Parser : 구문 분석기 Dependency Parser : 의존구조 분석기 (강의 뒷부분 메인 주제) Greedy transition-base..
https://www.youtube.com/watch?v=UFem7xa3Q2Q&list=PLoROMvodv4rOSH4v6133s9LFPRHjEmbmJ&index=24 위 스탠퍼드 cs224n 강의를 듣고 요약한 글 입니다. 틀린 부분은 지적해주시면 감사하겠습니다.^^ outlines 1. motivations for LM, 2. Orders of Magnitude of Data, 3. Universality of Scaling Laws, 4. scale up LM - consiquencies Fermi Estimates for LM 문제, 기초지식+논리추론, 효율적 대략적 근사치 추정 Why you study language? — motivation AI : our species best attempt ..
30일 첼린지 1일차, 금요일 forward 순 'I like staying at home.' 이란 문장이, transformer 모델에 들어가서 output으로 나오는 과정을 원리와 데이터의 흐름을 중심으로 차근차근 생각해보았다. 0. input sentence tokenizing input >>> 'I like staying at home.' tokenized >>> ['i', 'like', 'stay', '##ing', 'at', 'home', '.'] output(token_to_id) >>> [151, 3751, 6758, 19, 534, 616, 1, , , ..., ] output.shape = (max_seq_len, ) WordPiece(BERT), 은전한닢, Mecab 등의 ..
http://chomman.github.io/blog/linux/binshm-bad-interpreter-no-such-file-or-directory-%EC%98%A4%EB%A5%98-%EB%B0%9C%EC%83%9D-%EC%8B%9C/ /bin/sh^M: bad interpreter: No such file or directory 오류 발생 시 linux 에서 스크립트 실행할 때 /bin/sh^M: bad interpreter: No such file or directory 와 같은 에러 메시지가 나타날 때가 있다. chomman.github.io 윈도우에서 스크립트 파일을 만들고, 리눅스에서 실행해서 발생하는 오류라고 한다. 오류의 이유는 개행문자가 윈도우와 리눅스가 서로 달라 호환이 안되기 때문이..
특정 패키지들은 pip을 이용해 환경에 설치해야한다. 이런 경우, conda의 어떤 가상환경에 설치되는걸까? 결론은, pip을 직접 사용하는 경우, global version의 pip을 사용해, 가상환경 밖에 패키지가 설치된다. 따라서, 특정 conda 가상환경에 설치하기 위해서는, 가상환경의 경로를 찾아 다음과 같이 명시적으로 pip 을 이용해 설치할 수 있다. ~/anaconda3/envs/my_env/bin/pip install my_package 출처! https://blog.naver.com/jinp7/222609693992
웹상에 맥의 경우 해결하는 방법은 많으나, 윈도우의 경우 해결법이 적어 (6시간 파고들어)정리해 올립니다. 많은 분들께 도움이 된다면 너무 뿌듯할 것 같습니다! 윈도우에서 wsl이나 ubuntu를 이용해 리눅스환경에서 아나콘다를 설치했음에도, conda 명령어가 먹지 않는 사람들을 위한 글입니다. conda --version 를 입력할 때, 다음과같은 에러가 떴을 것 이다. Conda: "command not found" 해결방법과 에러의 원인을 안내해드리겠습니다. 1-1. 해결방법 (일회성) 1. 리눅스 셸을 열고, 위와 같이 입력해줍니다. (아래 코드) export PATH=~/anaconda3/bin:$PATH 2. conda 명령어가 잘 먹힙니다. 하지만 이는 리눅스를 껐다 켤때마다 계속 다시해줘..
핵심 요약 "한마디로, Tensor는 수치화된 데이터를 저장하는 방식이다." "한마디로, Tensor는 Rank, Shape, Data Type 의 요소로 구분된다." "Tensor은 pytorch 라이브러리에서 정의한 ML계산용 클래스라 여겨도 무방할 듯 하다." -- 추후 깨달음 얻을 시 수정하겠음 pytorch 등 라이브러리를 사용하다보면 "tensor"라는 자료구조가 자주 등장된다. 배열인가? 싶으면서도 묘하게 다르고 아닌것같다. Q1. 그렇다면, AI를 공부하는 사람으로서 tensor를 어떻게 정의할 수 있어야할까? Q2. 배열과 비슷해보이는데 차이점은 무엇일까? 의 의문점이 우선 든다. 우선 pytorch 홈페이지의 설명을 보자. https://tutorials.pytorch.kr/beginn..