설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
1) 7장에서 v1_0.v를 해설해 주실 때 register가 4개이므로 주소값으로 4bit가 충분하다고 하셨습니다 parameter integer C_S00_AXI_ADDR_WIDTH = 4 register가 한 개당 32bit이기 때문에 register들의 시작주소가 0x00 0x04 0x08 0x0c로 시작되는 것은 이해하였습니다 0x0c를 bit로 풀면 8bit 아닌가요? 따라서 8bit가 필요할 것 같은데 왜 4bit 인지 궁금합니다. 2) 지금 보여주신 것은 자일링스가 제공하는 AXI 코드라고 하셨습니다 그렇다면 AXI를 다룰 수 있는? 표현할 수 있는 방식은 꼭 자일링스가 보여준 코드가 아니여도 되는 것인가요? 만약 AXI에 대해 잘 알고 있다면 제가 임의로 AXI를 표현하는 코드를 짜도 AXI가 작동을 하는 것인가요?
안녕하세요!! npm test를 하면 끝부분에 항상 다음과 같은 메세지가 나오는데요, >>>>>Ran all test suites. Jest did not exit one second after the test run has completed. This usually means that there are asynchronous operations that weren't stopped in your tests. Consider running Jest with `--detectOpenHandles` to troubleshoot this issue. ^C <<<<<<< 위 문제를 해결해주기 위해 package.json을 다음과 같이 설정해주면, >>>>>>> "scripts" : { "test" : "jest --detectOpenHandles" }, <<<<<<<< 위에 나왔던 메세지 대신에 아래와같은 에러 메세지가 나옵니다. >>>>>>>>> Jest has detected the following 1 open handle potentially keeping Jest from exiting: ● TCPWRAP 9 | const mongoose = require('mongoose'); 10 | > 11 | mongoose.connect( | ^ 12 | 'mongodb://127.0.0.1:27017/tdd-test', 13 | { 14 | useNewUrlParser: true, at makeConnection (node_modules/mongodb/src/cmap/connect.ts:395:18) at connect (node_modules/mongodb/src/cmap/connect.ts:61:3) at checkServer (node_modules/mongodb/src/sdam/monitor.ts:300:10) at node_modules/mongodb/src/sdam/monitor.ts:341:5 at executeAndReschedule (node_modules/mongodb/src/utils.ts:1026:5) at makeInterruptibleAsyncInterval (node_modules/mongodb/src/utils.ts:1033:5) at Monitor.connect (node_modules/mongodb/src/sdam/monitor.ts:147:54) at Server.connect (node_modules/mongodb/src/sdam/server.ts:236:22) at createAndConnectServer (node_modules/mongodb/src/sdam/topology.ts:907:10) at node_modules/mongodb/src/sdam/topology.ts:921:22 at Array.reduce (<anonymous>) at connectServers (node_modules/mongodb/src/sdam/topology.ts:919:43) at Topology.connect (node_modules/mongodb/src/sdam/topology.ts:438:5) at createTopology (node_modules/mongodb/src/operations/connect.ts:97:12) at connect (node_modules/mongodb/src/operations/connect.ts:52:10) at node_modules/mongodb/src/mongo_client.ts:432:14 at maybePromise (node_modules/mongodb/src/utils.ts:609:3) at MongoClient.connect (node_modules/mongodb/src/mongo_client.ts:431:24) at node_modules/mongoose/lib/connection.js:796:12 at NativeConnection.Object.<anonymous>.Connection.openUri (node_modules/mongoose/lib/connection.js:781:19) at node_modules/mongoose/lib/index.js:340:10 at node_modules/mongoose/lib/helpers/promiseOrCallback.js:32:5 at promiseOrCallback (node_modules/mongoose/lib/helpers/promiseOrCallback.js:31:10) at Mongoose.Object.<anonymous>.Mongoose._promiseOrCallback (node_modules/mongoose/lib/index.js:1140:10) at Mongoose.connect (node_modules/mongoose/lib/index.js:339:20) at Object.<anonymous> (server.js:11:10) at Object.<anonymous> (test/itegration/product.int.test.js:2:13) <<<<<<<<< 이런 에러나 메세지가 나오지 않도록 조치할 수 있는 방법이 있을까요? 감사합니다.
안녕하세요, 강의를 들으면서 코드 작성하는 도중 에러가 발생하여, 찾아보다 잘 모르겠어서 질문드리게 되었습니다. 코드 질문을 이렇게 드려도 되는지 모르겠습니다. 수정해서 질문을 올려야할 부분이 있다면, 말씀주시는대로 수정하여 질문을 다시 작성하겠습니다. 감사합니다! L . flatMap = curry ( pipe ( L . map , L . flatten )); let iter = L . flatMap ( ( a ) => a , [ [ 1 , 2 ], [ 3 , 4 ], [ 5 , 6 , 7 ], ] ); console. log ( iter. next ()); // error L.flatten에서 iter is not iterable // L.map 에서 제대로 실행이 안된다고 판단 // iter 변수의 값을 펼쳐서 생각해봄 /** * L.flatMap( (a) => a, [ [1, 2], [3, 4], [5, 6, 7], ] ); 함수는 아래와 같다. curry( pipe( L.map, L.flatten ) )( (a) => a, [ [1, 2], [3, 4], [5, 6, 7], ] ) ) --- curry 함수는 const curry = (f) => (fn, ...iter) => iter.length ? f(fn, ...iter) : (...args) => f(fn, ...args); 이기 때문에, 위 코드는 아래와 같다. pipe( L.map, L.flatten ) )( (a) => a, [ [1, 2], [3, 4], [5, 6, 7], ] ) --- pipe 함수는 const pipe = (...fn) => (args) => go(args, ...fn); 이기 때문에, 위 코드는 아래와 같다. go( ( (a) => a, [ [1, 2], [3, 4], [5, 6, 7], ] ), L.map, L.flatten ) --- go 함수는 const go = (...args) => reduce((a, f) => f(a), args); 이기 때문에, 위 코드는 아래와 같다. reduce((a,f) => f(a), ( (a) => a, [ [1, 2], [3, 4], [5, 6, 7], ] ), L.map, L.flatten ) --- reduce 함수는 const reduce = curry((f, acc, iter) => { if (!iter) { iter = acc[Symbol.iterator](); acc = iter.next().value; } for (const a of iter) { acc = f(acc, a); } return acc; }); 이므로, acc은 ( (a) => a, [ [1, 2], [3, 4], [5, 6, 7], ] ) 이며, iter 는 [ L.map , L.flatten ] 이다. 여기서 제가 생각한 문제는 L.map에서 f로는 a => a , iter = [ [1, 2], [3, 4], [5, 6, 7], ] 를 받아서 iter를 그대로 반환해야 한다고 생각합니다. 하지만, L.flatten에서 받아온 iter는 iterable이 아니라고 에러 반환을 하는데, 문제가 무엇인지 모르겠습니다.. */
안녕하세요 강사님 눈높이에 맞는 쉬운 설명에 강의를 들을 때마다 감탄을 하며 잘 듣고 있습니다. BiFPN을 듣는 중 궁금한 점이 생겨 질문을 남깁니다. Downsampling이나 Upsampling이 일어나는데 보통 컨볼루션을 거칠 때 h, w, c 이렇게 세 가지의 값을 가지는데 단순히 크기를 키운다고 해서 채널값은 맞지 않을 것으로 판단이 되는데 Upsampling이나 Downsampling 시에 convolution을 한 번 더 거쳐서 채널 수를 맞춰주는 형태로 진행이 되나요? 만약에 맞다고 하면은 그 때에도 활성함수를 통과시키는 형태로 진행될까요? 만약 활성함수를 통과한다면, NIN(Network In Network)이 중간에 차원감소를 통해 연산량을 확보하고 비선형 함수를 한 번 더 통과하여 성능을 높일 수 있는 것으로 알고 있는데, FPN이랑은 차이가 딱히 없어보이고 굳이 따진다면 차원감소의 목적만 좀 빠진 거 같은데 제가 맞게 이해한 걸까요?
안녕하세요 ! 강의를 들으면서 실습하다 에러가 나서 질문 올립니다. lazyWithPreload(importFunction){ const Component = React.lazy(importFunction); Component.preload = importFunction; return component; } 여기 부분을 똑같이 따라하려고 하는데 component.preload 부분에서 Property 'preload' does not exist on type 'LazyExoticComponent >' 이와 같은 에러가 납니다. typescript에서는 위와 같은 형태를 가지지는 못하는건가요?
body의 고급편집기에서 함수 적용을 한 후 body가 테이블에서 함수로 변환까지 실습하였습니다. 그러나 표2를 사용자 지정 함수 호출로 적용하려고 하면 아래와 같이 에러가 뜹니다. 영상에서 적용되던 아르헨티나, 짐바브웨 포함... Formula.Firewall: 쿼리 '표2 (2)' (단계 '호출된 사용자 지정 함수')에서 함께 사용할 수 없는 개인 정보 수준의 데이터 원본에 액세스하는 중입니다. 이 데이터 조합을 다시 만드세요. 해결방법이 있을까요?
안녕하세요. 강의 잘 듣고 있습니다. 기본편 셀레니움 빨리 마치고 실전편으로 넘어가고 싶은데 오류로 넘어가질 못하고 있어요. 제 오류는 csv 를 막상 열어보면 한 줄 밖에 못 가지고 온다는 겁니다. 끝까지 스크롤 된게 보이는데 저장파일을 열면 한 줄 밖에 추출을 못했네요. 에러 문구는 아래와 같습니다. C:\startcoding_crawling>[2548:20056:0320/181443.565:ERROR:gpu_init.cc(440)] Passthrough is not supported, GL is disabled, ANGLE is 정말 재미있게 배우고 있어요. 실전편 강의도 기대하고 있습니다. 감사합니다.
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
안녕하세요, 궁금한 점이 생겨 질문드립니다. a.h와 a.cpp, main.cpp가 있을 때 main.cpp에 #include a.h를 해줬고 컴파일 이후 링킹 과정에서 a.cpp를 링크시킨다고 하던데 이때 과정이 궁금합니다. a.h와 a.cpp의 이름 a를 통해 연결되는 건가요, 아니면 a.cpp안의 #include a.h를 보고 연결시키는 건가요? 감사합니다!
안녕하세요 궁금한게 있어서 질문 드립니다! 탭에 프래그먼트로 적용했는데 뷰페이저2를 만들고 탭을 만들어서 적용 해도 괜찮을까요 프래그 먼트는 클릭으로 화면 전환 뷰페이저2는 화면을 슬라이스해서 화면 전환 이런 차이로 알고있는데 맞을까요? 그리고 차이가 이거 말고 더 있을까요? 마지막으로 뚜껑을 저렇게 말고 탭 레이아웃을 만들고 적용하면 될까요?