전체 글
1. 2. 마리오
- 파이토치는 정수 형을 float 인 실수형으로 변환해야된다.- rand 와 randn 의 차이 - tensor ---> numpy 으로 변환- tensor [0 : 행 1: 열]- mul 과 matmul 의 차이 mul 는 말그대로 곱함matmul 은 내적- view 으로형태 바꿈- dim=0 이면 밑으로dim=1 이면옆으로 - model 에 있는 forward 가 자동으로 실행됨 따라서 그냥 매개변수만 넣음- loss _fuction 은=nn.MSELoss() 으로 생성된 객체임 생성된 객체에 매개변수를 넣은. - 손실함수를 계산하고 손실함수가 최적값이 아니면 w와b를 다 업데이트 함 - 선형 데이터- 다중 데이터- 3개의 가중치와 b가 필요한것을 볼수 있음- 앞에서 나눈 x_train 은 모델..
문제점 1. 그림이 제대로 선택 > 동물 이름이 제대로 나오지 않음 ...2. 그림이 제대로 선택안되면 ( 얼굴만 선택하는경우 ...도 나올수 있음 ) 서비스 아키텍처 서버 2. 자동화 한다면 프론트에서 이미지를 서버로 전송함 . 서버는 프론트에서 받은 이미지를 토대로 ocr 해야됨 이미지 ocr 해서 동물- 의성어 [ key- value] 형식으로 묶음동물+ 의성어를 통해 관련된 소리 프론트로 전송 or 프론트에서 key 에 해당하는 소리 api 으로 불러옴1. 서버는 프론트에서 받은문장에서 key 에 해당하는거 있는지 확인후 소리 전송 프론트 1. 이미지클릭 -> 이미지에 해당하는 문장 서버에 전송 2. 서버에 이미지 파일 전송함
# DataLoader 구현 1. imagesets/main/train.txt 파일을 까보니 이런식으로 이름이 있음 train_id_names val_id_names 2. for line in open ( 저 파일) osp.join(~'$s.jpg') % 2008_00002 이 %s에 대해서 찾아봣느데 별거 아니고 그냥 + 형식이라고 생각하면된다고함 이런식으로 train_img_list= list() 에 담겨있다 train_(img / anno) _list val_ (img/anno)_list 으로 구성되어있다 # 2.2.4 xml 형식의 어노테이션 데이터를 리스트로 변환하기 # __call__ 함수 python 의 call 함수는 매번 날..힘들게 한다.. 1. transform_anno = Anno_..
이코드에서 도대체 features와 classifier 가 뭔지 몰라서 코드를 돌려봤다, vgg-16 의 결과 feataure / classifier 가 분리되어있는것을 발견하였다. 학습시킬 파라매터를각 리스트에 저장함 - params_to_update_1 ; [feature 전체 ] - .. _2: [ classifier0 .weight, +bias , classifier3.weight +bias ] opimizer 를 갱신한다. 이때 parmams 을 배열로 넣는다. ## dataset return 값으로 통일 마지막에 return sample 형태만 기억하기 model.eval()은 훈련 및 추론(평가) 시에 다르게 작동하는 모델의 특정 레이어 또는 부분을 전환하는 스위치의 일종입니다. 예를 들어,..
glob.glob 은 정규식 처럼 생각하면됨 여기서target_path 를 보면 경로 + 찾고자 하는 형식 을 넣어서 그 형식에 해당하는 path 를 paht_list 에 넣은뒤 return 값을 내놓음 인덱스에 해당하는 파일경로를 뽑은뒤 파일 경로르르 image.open 에 넣으면 크기 사이즈 [높이] [너비] [색 ] 을 알수 있다. 이경로중 하나를 self.transform ()에 넣는데 이때 클래스를 실행하기때문에 /ImageTransform 의__call__ 함수가 실행되면서 이미지가 변경되는것을 볼수 있다. 여기서 __call__ 이 실행되면서 위의 __init__ 이실행되는것을 볼수 있다! # 그림판으로 모델 연결시킨거 도식화하기 # named_parameters() 우리가 쓰는 모델은 이미..
class 함수를 만들고그냥 바로 image 넣는게 이해 안되서 코드 뜯어보았다. # Image.open [높이][너비][색rgb] 값이 보이게 된다. # plt.imshow(img) plt.show() 세트로 생각하면되는데 배열안에 잇는 변수를토대로 색을 지정해주는거라고 생각하면 편하다. 이 알고리즘의 과정에 대해서 서술 이렇게 라벨이 나오는 데이터 셋을 이 class 에 연결해서 self.class_index를 얻는다. 이미지 파일을 열어서 Image.open 으로 이미지의 크기를 확인한후 이미지를 transform 함수가 포함된 class 에 넣어 이미지를 변형시킨다. 이 변형시킨 이미지를 불러온 모델에 넣은뒤 output 을 뽑아낸뒤 이 output 을 predict_max 함수에 넣어 out.d..
-Discrete probability distribution: > 연속적인 확률이 아닌. 이산적인 확률이다. > 압정이 던질떄 연속적인 확률이 나오지 않는다. independent events : 독립적인 확률이다. 횟수 . k=3 (헤드가 나올 횟수 ) , p=0(세타) 압정에 의해 헤드가 나올 확률 p(D|0) ==> 압정 모양에 의해 헤드가 나올 확률에 데이터는? hypothesis: 가정 > 게임은 세타에 의해 영향을 받는다. 이 가정을 강하게 만든는 방법은? >>best candidate of 세타를 찾아야된다. 1. maxium likehood estimation(MLE) > 세타를 최대로 하는 argmax 를 찾아서 그것을 세타헷라고 하겠다. 확률이 너무 복잡해지기 때문에 log 를 붙인다..
벡터를 이용해서 차원을변경하면 얼마나 변하는가를 측정하는것이 det (determination) 이라고 부 이다. 이때 area 를 생각해서 편하게 식별할수 있다. 6 만큼 변한다. 이것을 통해 선형변환에 의한 영역의 변화를 나타내는 벡터로 볼수있다. 음수값이 나온경우에는 > 종이를 한번 돌렷다 라고 생각하면된다. 이경우 0 벡터는 무엇을까? 3차원의 차원을 꾸겨보면 각 벡터들이 한 선으로 모이게 된다. 이때 부피가 없어지게되고 한으로 연결된것 처럼 보이는데 이것을 0 벡터라고 생각하면 편하다. 공간이 찌그러 지고 있는 모양을 보여준다. 33차원인경우는? 7장 차원을 이동시키는것 v=> 어떤 벡터 v와 x=> 어떤 벡터 v으로 변환시키는 벡터 x 만약 3차원을 2 차원으로 변경시키는 경우는? 차원을 ra..
타입스크립트에 두 매개변수는 서로 다른 타입일수 있다고 말해준다. 그럼 타입 스크립트는 이것을 보고 데이터를 활용하겠구나라고 이해할수 잇다. 이제 미상의 객체가 아니라 특정한 타입이라는 것을 추정한다. 뭐가 될지 모르겠지만 어떤 타입이긴 할거라고 알려주는 기능이다. 제약조건 30을 넣었을때 object.assign 이 되지 않는다. ( 당연히 object 가 아니기 때문) 하지만 여기에서 에러가 발생하지 않고 그냥 객체가 반환되는 문제점이 생긴다. 이유> t u 가 object 타입이라는것을 알려주지 않았기 때문이다. 따라서 제약 조건을 사용해야된다. 이렇게 타입을 지정해준다. element.length 를 사용한다 .element 의 타입이 T인데 T의 성질을 모르기 때문에 성립이 안된다.1 따라서 T..
1 self.grads[0] [...] self .grad 에서 이 [0] 이뭐나 싶었다. 그래서 코랩 돌려봄 self.grad 는 3 중 배열로 [] [] [] 이런식으로 만들어져 있다. 3중 배열은 이런식으로 되어있어서 [0] 첫번째이다. 여기를 채운다는 의미이다. 2, what is minibatch? 미니 배치와 배치의 차이점이 뭔가? https://89douner.tistory.com/43 9. Mini-Batch (데이터가 많은 경우에는 학습을 어떻게 시키나요?) Q. 굉장히 많은 데이터를 학습시키려고 한다면 어떻게 학습시켜야 하나요? 데이터 하나하나 단계적으로 학습시켜야 하나요? 안녕하세요~ 이번시간에도 DNN(Deep Neural Network) 모델을 좀 더 효율적으 89douner.ti..
아직 미완 이지만 여기 까지함. 저거 모델링 만드느라 오래 걸렸다. 대충 스크롤로 움직이는거랑. 모델 돌아가는거 위치 선정 및 크기 조절 함 2023/11/23 모델링 고칠려고 노력했는데 너무 구려 서 순정으로 돌아감..^^;; 원래는 앨범 3d 으로 만들어서 하나 돌릴려고 햇는데 넘... 구림.. ^^: 나에게 디자이너를 보급해라ㅏ 2023/11/25 디자인 구려서 고치고 안에 정보도 다 넣음요 구려서 또 디자인좀 손봄 구려서 엎어버림 이제 안고칠듯....휴... 12-04 -about 페이지 만듬 모델링 하나더 넣음 12-07 live 페이지 만듬
Generics 타입은 아무거나 될수 있다고 생각하면된다. https://velog.io/@yena1025/%ED%83%80%EC%9E%85%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EC%9D%98-keyof%EC%99%80-typeof 타입스크립트의 keyof와 typeof 최근에 진행 중인 [Effitizer 프로젝트](https://github.com/Effitizer)에서 기존에 작성된 코드를 분석하던 중에 `as keyof typeof`라는 표현을 발견했다. 작성하신 개발자 분에게 직접 여쭤보고 다음과 같은 내 velog.io https://yamoo9.gitbook.io/typescript/classes/getter-setter 게터 / 세터 - TypeScript Gu..
https://www.youtube.com/watch?v=gieEQFIfgYc&t=9179s 에러가 발생한다. Indexed Access Types이란? https://www.typescriptlang.org/docs/handbook/2/indexed-access-types.html 이렇게 element 는 함축으로 any 타입을 가지고 있다. 왜냐면 string 표현은 index type 에 사용될수 없기 때문이다. 여기서도 에러가 발생한다. key값이 string .이라는 것을 명시하고 valuer 가 number 이라는것을 명시해야 에러가 없어진다. 단점 typescript 는 미래에 어떤 이름이 들어갈지 모른다. TodaysTransactiosn 에는 dave 라는key 가 없음에도 에러가 발생하..
6.1 RNN 의 문제점 > 기울기손실 / 기울기폭팔이 일어나서 장기 의존 관계를 학습하기 어렵다, 기울기 손실 / 기울기 폭팔 dh 은 tanh -> + -> matMul 식으로 이동한다. 1) tanh 의 문제점 tanh 을 미분해보면 x가 -2 와 2 사이에만 1 으로 셋팅되며 다른 부분은 0 으로 되는것을 볼수 있다. 따라서 기울기가 점점 작아지는 영향이 생긴다. 우리는 time rnn 을 사용하므로 ( rnn 은 제귀다 ) > tanh 함수가 T번 사용되면 작아지는 영향도 T번 반복되서 최종적으로 0 에 가깝게 수렴 할수도 있다. 2) Matmul 의 문제점 똑같은 가중치 wh ^T 가 반복되는데 wh 의 값이 크면 가 되는 결과가 생긴다. 6.1.4 기울기 폭팔대책 --> 기울기 클리핑이라는 ..
이전 단어를 통해서 wt단어를 추출해 나가는거라고 생각하면 된다. 손실함수는 이렇게된다. 언어모델 특정 단어 시퀀스에 대해서 그 시퀀스가 일어날 가능성을 판단하는거 / -> 기계번역과 음성 인식이 사용되며 얼마나 자연스러운지 확률로 알수 있다. 그림으로 설명하면 이런 그림 5.1.3 cBow 모델을 언어모델로? 이전의 글에서 cbow 의 모델을 설명하였다 즉 맥략이 2 개인 단어 사이에 들어갈 단어를 추측하는 모델이였다. 맥락의 크기에 따라서 모델이 이해 못하는 상황이 발생한다. == > 맥략의 크기를 키우면 이해할것인가? => 맥략안에 단어 순서가 무시되는 한계가 발생한다. 맥략의 단어 순서가 무시되는 예 RNN 은 이런 weight 가 커지는 것을 방지하며 맥략의 정보를 기억하는 메커니즘을 가지고 있..
1 .word2vec 개선 두 계산이 병목되는 문제점 (병목이란? 속도 차이가 달라서 중간에 데이터가 쌓이는 문제점을 말한다 . ) 1-1 입력층의 원핫 표현 / 가중치의 행렬 win 의 곱 1-2 은닉층의 가중치 행렬 w out 의 곱 및 softmax 계산 1-1 원핫 표현 시간 多 -> 벡터의 크기 多 벡터의 크기 ?( 내 생각에는 벡터는 하나의 방향을 나타내는 거라고 생각하면 된다. 즉 여러개의 방향이 쌓이면 차원이 되는데 여기서는 하나만 1 이고 나머지는 0 이가 때문에 차원은 그렇게 크지는 않으나. 벡터의 크기는 크다는 것을 알수 있다. ) 어쨌든 100만 단어 일시 원소수가 100만개 이기 때문에 벡터의 크기는 크다고 말할수있다. 1-2 wout / softamx 오래걸림 4.1 EmBedd..
추론 기반 기법 - 미니 배치 학습 - 추론은 말 그대로 주어진 글자에 어떤것이 들어가는지를 추측하는 기법이다. 맥략 -> 모델 -> 단어가 나올 확률분포를 보여주는 모델을 만들자 . 3.1.1 신경망에서 단어 처리 you say goodbye and i say hello 단어중 두단어를 원-핫 표현으로 나타내보자 단어 id 는 -> 으로 가면서 단어 id 를 하나씩 추가해주는것이다. 즉 you 부터 시작했으니 you :0 say:1 goodbye:2 and :3 .. 이런식이다. w=7 x 3 가 된다. 즉 7개 단어에 은닉충 (w 3)개 전부 연결되었다는 의미 여기서 입력층이 원샷 이기때문에 이렇게 3 개만 사용되고 나머지는 0 이된다. 3.2 CBOW 모델 만들기 위에서 설명했던 you , good..
https://madewithml.com/courses/foundations/neural-networks/ Neural Networks - Made With ML Implement basic neural networks from scratch using NumPy and then using PyTorch. madewithml.com 이 링크에서 이해 안되는 부분을 썼다. 여기서 말하는 _val 는 다시한번 검증한다고 생각하면 편하다. 근데 여기서 label_encoder.transform 을 사용하고 있다. 이것의 예를 보자 non -numerical label ( string 형태로 적어져 있는것 ) 들을 숫자로 바꾼것이다. 자기들이 알아서 각각의 string 을 구별해줘서 숫자로 변경해주는것을 볼수 ..
https://towardsdatascience.com/understanding-binary-cross-entropy-log-loss-a-visual-explanation-a3ac6025181a Understanding binary cross-entropy / log loss: a visual explanation Have you ever thought about what exactly does it mean to use this loss function? towardsdatascience.com https://velog.io/@rcchun/%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D-%ED%81%AC%EB%A1%9C%EC%8A%A4-%EC%97%94%ED%8A%B8%EB%A1%9C..



