묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)
lab2 exam 시뮬레이션 시간 관련하여 질문있습니다.
안녕하세요 맛비님!Lab2 exam부분 진행하면서 simulation을 돌릴 때 simulation이 멈추는 문제가 계속 발생합니다..처음에는 cnn_kernel module이 가장 하위 module이라 이 module이 문제 없이 동작하게 설계하면 다른 module들도 비슷하게 하면 될 것 같아서 제가 따로 testbench 파일을 만들어서 동작을 확인해보려 했는데, input valid 신호가 들어오기 직전 부분에서 자꾸 simulation이 멈춰버립니다...그래서 제가 구글링을 해봤는데 testbench 작성이 bad 해서 그럴 수 있다는 얘기 정도밖에 안나오네요...(testbench 작성은 지금까지 제공해주신 testbench 파일과 거의 비슷한 flow로 reset_n을 주고 i_in_valid 를 high로 주고 output관찰하려고 했던 단순한 testbench였습니다) 그래서 나머지 모듈도 모두 코딩을 하고 맛비님이 제공해주신 run.py를 통해서 제대로 동작하는지 simulation 해보려고 했는데, 또 simulation이 멈춰버립니다..여기서 더 진행이 안됩니다..waveform 옵션이 있어서 그런가 하고 그냥 waveform gui없이 돌려봐도 Start이후에 진행이 안됩니다...강의 중에 3D이상의 array 선언을 하면 simulation time에 문제가 있어 vector 선언 후 Indexed part select를 통해 설계하셨다고 하셨는데, 저도 제공해 주신 frame안에서 그냥 TODO 부분만 Indexed part select를 통해서 코딩한 건데 왜 이런 문제가 발생하는지 잘 모르겠습니다. 제가 작성한 code에 문제가 있으면 simulation 결과를 보고 수정해서 정상적으로 동작하게 하고 싶은데 simulation이 완료가 안되니 어떻게 해야 할지 모르겠습니다... Matbi님의 lab2_solve 부분을 잠깐 확인을 했는데 크게 다르게 작성하지 않은 것 같은데 lab2_solve에서 run.py를 실행해보면 정상적으로 결과가 나옵니다.Verilog HDL이랑 FPGA강의를 수강해오면서 simulation이 멈춰서 디버깅을 못하는 경우는 없었는데 simulation이 멈춰버리니까 어떻게 디버깅을 해서 진행을 해야 할지 정말 모르겠습니다... 이럴 때는 어떻게 접근해야 하는지 여쭤보고 싶습니다.긴 글 읽어주셔서 감사합니다!
-
해결됨DNN, CNN, RNN을 활용한 딥러닝 실무
"딥러닝(DNN)을 이용한 MNIST 손글씨 인식하기 웹 사이트" 확인 요청
딥러닝(DNN)을 이용한 MNIST 손글씨 인식하기 웹 사이트를 접속하면, 다른 사이트가 실행되는 것 같습니다.확인 부탁 드립니다.http://myselph.de/neuralNet.html
-
미해결설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)
CNN paper review 영상 관련 질문있습니다.
안녕하세요 맛비님. AI HW 6장 강의를 들으면서 MAC연산량 관련하여 의문점이 생겨서 질문 드립니다. https://www.inflearn.com/questions/735204/%EC%95%88%EB%85%95%ED%95%98%EC%84%B8%EC%9A%94-%EC%B1%95%ED%84%B06-7%EC%97%90-%EB%8C%80%ED%95%9C-%EC%A7%88%EB%AC%B8%EC%9E%85%EB%8B%88%EB%8B%A4(관련 질문글 링크) 1. 강의에서는 weight 수를 "kernel의 sample수"라고 하셨는데, 위 질문 답변의 A2에서 처럼정확히는 Convolution layer에서의 weigth 수는 "kernel의 sample수 * Output channel 수"가 맞지 않나요? 즉, OCH :output channel수 * (ICH * Kx * Ky : Kerner의 sample 수) 2. Convolution layer에서의 MAC수를 계산할 때는 Kernel size * Input Channel * Output Channel 을 한 게 output feature map의 한 point(1*1*OCH size)에 필요한 연산수 이기 때문에위 질문 답변에서의 A1.하나의 layer 에서의 MAC 량 = OCH* ICH * KX * KY이 아니라Kernel size * Input Channel * Output Channel* Output Feature map Size를 하여하나의 layer 에서의 MAC 량 = OCH * ICH * KX *KY* (Output Feature Map size)를 해줘야 맞는게 아닌가 싶습니다. 3. AI HW 6장의 교안에 LeNet-5 Network구현에 필요한 MAC연산수가 341k라고 되어있는데, 첫 Conv layer에 필요한 MAC연산은 (2번이 맞다면) 5*5*1*6*28*28 = 117,600이고 두 번째 Conv layer에 필요한 MAC연산은 5*5*6*16*10*10 = 240,000으로 두 개의 Conv Layer에서의 MAC연산량만 해도 357.6k로 341k를 넘는데 Fully Connected Layer에서의 MAC연산량을 더하면 더 커질 것이라 생각하는데 MAC연산량이 341k가 맞나요?? 정확한 값을 알고 싶습니다.117.6k+240k+20*84+84*10 = 368.52k가 맞나요? 구글링해도 MAC수에 대한 자료는 잘 안나와서요.. 3-1. Fully Connected Layer가 2개라고 하시고 C5-F6에 하나, F6-OUTPUT에 하나 해서 두 개라고 하셨는데, 검색을 해보니 F6-OUTPUT은 Gaussian connected layer라고 fully connected layer가 아니라고 하는데, 뭐가 맞는건지 잘 모르겠습니다.. S4-C5/ C5-F6가 두 개의 FC layer인건가요? 4. HW engineer라면 연산량을 잘 파악할 수 있어야 된다고 하셨기에, Network Model을 보고 Weight와 MAC연산수를 잘 파악할 수 있어야 될 것 같다고 생각해서 정리를 해보았는데FC Layer에서의 Weight = Edge의 개수 = Input Node * Output NodeFC Layer에서의 MAC = Weight와 동일Conv Layer에서의 Weight = "kernel의 sample수 * Output channel 수" = OCH *ICH * Ky * KxConv Layer에서의 MAC = (Output Feature Map 의 Size) * Weight 수 = (Output Feature Map 의 Size) * OCH * ICH * Ky* Kx라고 생각했는데, 옳게 파악한 것이 맞을까요? 항상 강의 잘 듣고있습니다. 바쁘신데도 질문에 친절하게 답변해주셔서 감사합니다 맛비님!긴 글 읽어주셔서 감사하고 좋은 하루 되세요 :)
-
미해결설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)
수업자료 다운로드
수업자료를 마이크로소프트 원드라이브에서 txt상의 키를 이용해 다운을 받았는데 받은 zip이 비어있다고 나옵니다. 압축해제를 진행하려고 해도 invalid하다고 하네요. =================현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================
-
해결됨딥러닝 CNN 완벽 가이드 - Fundamental 편
CNN 모델 구성시 Filters 구성 수 순서 영향력에 대한 질문
안녕하세요! 강사님 좋은 강의 덕분에 정말 몰두해서 공부하고 있는 수강생입니다.CIFAR10 데이터세트를 이용하여 CNN 모델 구현 실습 - 02 강의에서 모델을 구성하실 때,필터의 개수가 32 -> 64 -> 128 이렇게 점차 증가하였는데, 첫 번째로 이렇게 구성하는게 보편적인 방법인 것인지 궁금하며,두번째는 128 -> 64 -> 32이렇게할 경우에는 효율이 좋지 않은 것인지 또 64 -> 128 -> 32 이런식으로 섞어주면 안되는 것인지 궁금합니다.
-
미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
모델 과적합 관련
선생님 안녕하세요.강의 4분30초 부근 만들어진 모델을 test데이터로 성능을 측정했을 때, 정확도가 0.92정도로 꽤 높다고 생각합니다. 하지만 강의에선 flatten으로 인해 파라미터 개수가 급격히 증가하여 과적합이 일어났다고 설명하셨는데, 만약 과적합이 일어났다면 test데이터로 성능을 측정했을 때 더 낮은 정확도가 나와야하는것 아닌가요?train데이터셋으로 모델을 훈련시킬 때 정확도가 99%가 나왔기 때문에 과적합이라고 설명해주신건 이해를 했습니다. 하지만 test데이터셋으로 모델 성능평가를 했을 때 높은 정확도가 나왔음에도 과적합이라고 생각하는건 이해가 되지 않아서 문의 드립니다.
-
미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
실무에서 이미지데이터가 충분히 많을경우에는 augmentation을 사용하지 않아도 되나요?
안녕하세요 선생님!좋은강의 감사합니다 잘듣고 있습니다!!궁금한것이 생겨 질문을 드립니다실제 회사나 연구소에서 이미지 데이터가 많거나 영상데이터로 학습을 하는경우(이미지데이터가 충분히 많다고 가정한경우) 굳이 이미지 augmentation을 하지 않아도 되나요...?
-
미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
학습 데이터셋에서 검증 데이터셋 나눌 때
선생님 안녕하세요. 두가지 질문이 있습니다.검증데이터셋을 구성할 때, 학습데이터 내의 데이터로 검증 데이터셋을 구성하는 이유는 학습데이터셋에 대한 과적합을 확인하기 위해서 인가요?그렇다면 다른 데이터셋으로 진행할 때도 학습데이터셋 내에서 검증 데이터셋을 구성하는 것이 맞는건가요? 학습,검증데이터셋을 나눠줄 때 사이킷런의 train_test_split 을 사용하는 이유는 단순히 데이터셋을 나누기에 적합한 함수이기 때문에 사용하는 것이죠? test data, valid data를 나누는데 함수 이름이 train_test_split이라서 헷갈리네요.
-
미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
선생님, load_boston이 import가 안돼요
안녕하세요 선생님,제가 load_boston을 import했을 때, 다음과 같이 오류가 나왔었습니다.ImportError: `load_boston` has been removed from scikit-learn since version 1.2.따라서 scikit-learn을 0.24.2버젼으로 바꿨는데, 여전히 이 오류가 계속 나옵니다.도저히 방법을 모르겠습니다.도와주세요.감사합니다.
-
미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
오차 역전파(Backpropagation)의 Gradient 적용 메커니즘 - 01 교재내용
강의 교재 내에 히든 뉴런 부분 중 a^2=g(z^2)라고 되어 있는데 제가 다운받은 교재에는 a^2 = g(z)라고 되어 있어서요 교재 내용이 다른거 같은데 어떻게 된걸까요?
-
미해결TensorFlow Object Detection API 가이드 Part1 - 코드 10줄 수정으로 물체검출하기
강의 슬라이드 전달 요청
아래 내용 보았습니다.강의 슬라이드 전달 요청드립니다.수강평 작성 아이디 : kinghm10 전달 받을 메일 : kinghm10@naver.com 입니다. 요청 드립니다. 아래 내용 보고 강의 슬라이드는 수강평 작성후 수강평 작성 인프런 아이디와 강의 슬라이드를 전달받을 이메일 주소를 알려주시면 해당 이메일로 [TensorFlow와 실전 프로젝트로 배우는 딥러닝 컴퓨터비전 올인원] (강의 링크) 강의 30,000원 할인쿠폰(쿠폰사용 가능기간 1개월)과 함께 강의 슬라이드를 전달드립니다.공부하시다가 궁금하신 점 있으시면 편하게 질문주세요~.
-
미해결파이썬을 활용한 머신러닝 딥러닝 입문
true function에 대해 이해가 잘 안되서 질문 남깁니다
학습 데이터를 통해 모델을 학습 시켰을 때 true function이 나오는 건가요? 아니면 학습 데이터를 통해 모델을 만든 이후에 모델의 검증을 위한 검증 데이터를 넣었을 때 true function이 나오는 건가요?ture function이 만들어지는 시기가 언제인가요?
-
미해결파이썬을 활용한 머신러닝 딥러닝 입문
셔플 시, target과 데이터가 섞일 때
제가 강의를 들으며 사이킷런에 iris 샘플을 가지고 data와 target을 나누고 있는 와중에 문득 궁금한 점이 생겼습니다.train_test_split을 통해 train셋과 test셋을 나누게 되는데 shuffle이 True로 되어 있기 때문에 자동적으로 shuffle이 수행되지않습니까? 이 때 샘플데이터와 타겟은 짝을 지어서 셔플이 되는 건가요? 아니면 샘플데이터도 타겟 데이터도 둘 다 아무렇게나 섞이는 건가요?
-
미해결설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)
CNN 연산 모듈 질문입니다.
안녕하세요 맛비님.맛비님께서 3차원 Convolution 연산 모듈을 설계하기 위해서 3개의 계층을 가진 모듈로 설계하셨던 것에 궁금한 게 생겨서 질문드립니다.1차원 연산을 위한 최하위 계층, 그 위의 2차원 연산을 위한 하위 계층, 그 위의 3차원 연산을 위한 Top 계층, 이렇게 세 개의 계층을 나누셨는데,1.한 모듈에서 Register를 많이 추가하여 이 기능을 전부 할 순 없나요? (FSM으로) 즉 하나의 계층을 가진 모듈로 3차원 연산 모듈을 구현할 수는 없는 건가요?2. 이와 같이 할 경우 단점이란 것이 존재할까요?
-
미해결설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)
CNN 알고리즘 + FPGA 연동 방법
맛비님 안녕하세요! 항상 좋은 강의 감사합니다. 다름이 아니라, 질문 사항이 있어 글 남기게 되었습니다.CNN 가속기를 설계한 후 YOLO나 Lesnet과 같은 알고리즘과 접목하여 CNN 객체 인식을 동작하고 싶은 상황입니다. 하단의 프로세스로 진행하는 것을 생각하고 있는데 각 단계별 가능여부가 궁금합니다. 1) XIlinx 상에서 CNN 알고리즘 library를 import한다-> (vitis AI 라이브러리가 있으나, 이를 지원하는 보드가 한정적이라, 해당 라이브러리가 아닌 다른 라이브러리 혹은 tool이 있는지 궁금합니다)2) 알고리즘에서 CNN 연산 가속기 부분만 따로 가져와 연산을 돌린 후 Vitis 상에서 입력 받는다-> 이러한 구상이 적용 가능한지 궁금합니다. 편하실 때 답변 부탁드리겠습니다. 감사합니다.
-
미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
파라미터 개수에 대한 질문
안녕하세요.수업 중에 가중치 W와 파라미터가 같은 말이라고 설명해주셨습니다. 보통 파라미터의 개수라고 하면 정확히 무엇을 의미하나요?아래 수업 자료를 보면 앞 노드에서 다음 노드로 연결되는 화살표가 3개씩 있습니다. 그럼 이 화살표 각각을 파라미터 1개라고 간주해서, 아래 화살표 개수를 모두 합친 것을 파라미터 개수라고 하는지요? 아니면 앞 레이어에서 다음 레이어로 넘어갈 때, 한 노드에서 다음 노드로 화살표가 3개 있더라도, 파라미터는 1개라고 간주하나요?예를 들어 오픈AI의 GPT3의 파라미터는 1750억개라고 하는데, 여기서 파라미터 개수의 정의가 궁금합니다.
-
미해결파이썬을 활용한 머신러닝 딥러닝 입문
모델 적용에 대한 문의 사항
안녕하십니까.2월에 인공지능 서비스 모델 설계을 수강후 주신 쿠폰으로 좋은 교육 듣고 있습니다.몇가지 문의 사항이 있어서 연락드립니다.1. 학습된 모델을 “Model 적용” regr.predict()를 사용하여 모델적용 결과를 도출하는게 맞는지요?2. 모델에 지속적인 학습을 위해서는 regr.fit()으로 전체 데이터를 재구성하여 재 학습시키는지, 아니면 추가 데이터만 학습 시키는 방법이 있는지요?예) regr.fit(diabetes_X_curr, diabetes_y_curr)3. . 모델을 계속 적용하여 결과를 도출하고, 학습을 지속적으로 하면서 결정계수가 계속 낮아진다면 어떤 작업을 해야 하는지요?010.Simple Linear Regression 정리 자료
-
미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
선생님 질문입니다!
optimizer에서 이미 안장점이나, 최적의 업데이트를 하기 위한 시도와 노력을 하는데 call back을 하는 이유가 '그럼에도 불구하고' 안될 수 있기 때문에 하는건가요?
-
미해결설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)
질문사항
맛비님 안녕하세요 ! 궁금사항이 생겨 글 남기게 되었습니다. NVIDIA의 GPU 같은 경우 '쿠다'라는 소프트웨어 플랫폼을 제가 이용해봤습니다. 수업시간에 설명해주신 inference를 위한 NPU 소프트웨어 플랫폼도 학생이 무료로 이용할 수 있는게 있을까요 ?MNIST 모델에 대해 설명해주실때 0~9까지 표현하기 위해 one-hot label을 10bit를 사용하셨는데, 4 bit를 사용해도 0~9가지 다 표현 가능하지 않나요 ?
-
미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
선생님 질문입니다!
뒤에 수업까지 듣고 와서 이렇게 다시 질문드립니다!CNN이 Dense layer와 다르게 universal한 피처맵을 만들어 덴스레이어로 보내기 때문에 이미지내 다양한 위치에 있는 object를 찾을 수 있다고 강의를 통하여 배웠는데.그렇다면 이 필터들은 많은 이미지 내에서 다양한 위치에있는 object를 찾아낼 수 있게 끔 업데이트가 되는 것이 맞는지요.만약 맞다면 데이터 전처리를 할 때, 해당 물체의 위치가 되도록 가변적이지 않도록 하는 것이 모델 학습능력을 상승시키는 거라 생각하는데, 잘못 이해하고 있는건지 답변 부탁드리겠습니다!