위 부분에서 dataSize를 알아낸 후 그만큼 데이터가 도착했는지 판별하는 부분에서 질문 1. 만일 서버에 같은 세션으로부터 동시다발적으로 혹은 매우 짧은 간격을두고 Send요청이 일어나 여러 패킷이 멀티스레드로 Recv된다면 Recv버퍼에 dataSize만큼 데이터를 수신받았다고 하더라도 그 데이터가 항상 온전한 한 패킷의 연속적인 데이터로 도착하게끔 보장이 되나요? 질문 2. 만일 그렇지않고 여러 뒤죽박죽 섞인다면 어떻게 뒤섞인 데이터를 분리하나요? 옅은 지식으로나마 TCP에서 데이터의 순서는 어느정도 보장해주는것으로 알고있는데 한 패킷이 온전하게 도착할때까지 다른 전송이 대기하는지, 아니면 여러 요청중에서 먼저 도착하는 조각들을 무지성으로 때려박는지 아무리 찾아봐도 알 수 없어서 질문 남깁니다 ㅜㅜ
강의내용대로 쭉 따라가면서 askcomapny경로에서 settings 폴더를생성 cd askcompany로 경로 이동후 git add .를 한뒤 git mv settings.py settings/common.py 로 파일이동 그 상태로 runserver를 해봤더니 CommandError: You must set settings.ALLOWED_HOSTS if DEBUG is False. 오류가 뜸 원래 경로에 settings.py파일을 다시 만들어 보고 runserver를 해봤더니 오류가 사라짐 옮기는 과정에서 문제가 있는건지는 모르겠네요 DEBUG = True 이고 ALLOWED_HOSTS = ['*'] 설정까지도 해봤는데 왜 저런 오류가 뜨는걸까요?
안녕하세요 루키스님! 항상 강의 잘 듣고 있습니다. 다름이 아니라 기존에는 N^2 의 시간 복잡도라고 말씀해주셨습니다. 그 이유도 충분히 이해했습니다. 그래서 GameRoom.cs의 _pendingList와 Flush 함수를 패킷 모아 보내는 용도로 사용하셨습니다. 그러나 사실상 Flush 내부를 자세히 보면 결국 N^2으로 시간 복잡도는 똑같다고 생각합니다. 왜냐하면 Flush 내부에서 세션용 foreach와 Send함수 내부에서 List<ArraySegment<byte>> 용의 foreach로 인해서 총 2개의 foreach가 돌기 때문에 시간 복잡도는 여저힌 N^2이지 않나요? 만약 10명의 클라이언트가 접속했을 때, [패킷 모아 보내기 할 경우] 100개의 패킷을 한 번에 보내는 것 [패킷 모아 보내기 안 할 경우] 10개의 패킷을 10번 보내는 것 으로 이해 했는데 맞을까요?
안녕하세요 강의 잘 보고있습니다. cnt = members.find({"email": email}).count() 관련해서 질문이 있는데요, 저번 강의에서도 find().count()에 버전 관련 오류가 발생했었고 이번에도 당연히 [AttributeError: 'Cursor' object has no attribute 'count’] 오류가 발생했는데요, 그래서 구글링을 통해 cnt = members.collection.estimated_document_count({"email": email}) if cnt > 0: flash("중복된 이메일 주소입니다.") return render_template("join.html") collection.estimated_document_count({"email": email}) 를 찾아서 적용했고 커서 오류를 해결했습니다. 이렇게 회원가입 db를 members로 잘 넘겼는데요, 이메일 주소 중복 부분에서 시크릿키 적용을 한 후에도 이메일이 중복돼도 회원가입이 되고 db가 넘어가더라구요. 그래서 또 구글링을 했고 cnt = members.count_documents({"email": email}) if cnt > 0: flash("중복된 이메일 주소입니다.") return render_template("join.html") count_documents({"email": email}) 코드로 문제 해결을 하기는 했는데요, 여기서 'count_documents'와 'collection.estimated_document_count'의 차이를 알고싶습니다. 아무리 찾아봐도 차이점을 못찾겠어요. 차이점 알려주시면 감사하겠습니다 ! 부탁드려요 !
4r강 마지막에 연산자 적용관련하여 df[df.b == 7] | df[df.a == 5] 라고 코드를 똑 같이 했는데 unsupported operand type(s) for |: 'float' and 'bool' 라고 오류메세지가 나옵니다. 왜이렇게 나오는지가 궁금합니다.
파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI, async, await)
안녕하세요. 강사님 현재 강사님 강의 듣고 있는 수강생 입니다. Python의 패키지 매니저 PIP 명령어 정리와 사용 해당 파트 에서 0:30초에 나오는 필수적인 명령어 정리되어 있는 페이지가 강사님 git 에서 보이지 않아서요. 어디서 찾아 볼 수 있는 것 인가요 ? 확인 부탁드리겠습니다. 감사합니다.
안녕하세요 강사님, 항상 좋은 수업 잘 듣고있습니다. mmdetection으로 Mask-RCNN + Resnet-101 model Training중 Training Dataset 구성 관련하여 질문있습니다. 제가 기존 model을 학습시키는데 사용된 모든 이미지 데이터는 1280x720 해상도였습니다. 그러나 이번에 수집한 데이터는 2208x1242 해상도입니다. Q1. 각기 다른 해상도로 촬영된 이미지들을 하나의 데이터셋으로 만들고, 네트워크에 학습시켜도 문제가 없을까요? 당연히 COCO dataset이나 PASCAL dataset을 살펴봐도 다양한 해상도의 이미지를 annotation하여 구성하였기 때문에 문제될 건 없다고 생각하는데 일반적으로, 1280x720 해상도 이미지를 추론하는 경우, 동일한 해상도의 데이터셋으로 학습된 모델이 성능이 더 우수한지 궁금해서요. ex) 1280x720 이미지 추론시, 1280x720 해상도만으로 이루어진 데이터셋으로 학습된 model 사용 1920x1080 이미지 추론시, 1920x1080 해상도만으로 이루어진 데이터셋으로 학습된 model 사용 2208x1242 이미지 추론시, 2208x1242 해상도만으로 이루어진 데이터셋으로 학습된 model 사용 만약 일반적으로 이렇게 한다면, 새로 획득한 데이터가 아닌 라벨링되지 않은 1280x720해상도 데이터들을 더 annotation 작업 진행하려 합니다.
코드 실행 후 두가지 여쭤보고 싶은 것이 있어 질문 드려봅니다. 1.먼저 train, validation 데이터셋으로 학습을 시켜보았습니다. 혹시 test dataset은 train, validation 데이터 이외의 학습시키지 않은 데이터로 결과를 확인하면 되나요? test dataset는 말그대로 test의 의미를 가지는 데이터셋 일까요?(loss나 accuracy를 구해볼 수 있을까요?) 2.현재 CPU는 Intel core i9, GPU는 RTX 2080 Ti를 사용중에 있고, 하나의 이미지에서 모델 검출속도가 약 0.08s 나오고 있습니다. Window에서 사용중에 있고,그래픽카드 4개를 사용하려고 했지만, 멀티 gpu를 사용하게 되면 sh 파일을 사용해야되는 것으로 알고있고,window에서 sh 파일이 실행되지 않는 것을 확인했습니다. 0.05s 이하로 검출시간을 줄이는 것이 목적이고, 그래픽카드 성능을 보면 RTX 3090이 약 2배정도 뛰어난 성능을 나타낸다고 나와있는데 그래픽카드를 바꾸면 속도가 목표 속도까지 향상이 될까요? 혹은 sh 파일을 window에서 실행시켜서 멀티 gpu를 사용할 수 있을까요? 감사합니다.
유니티 연동 #1 을 공부하는 도중 아래와 같은 오류가 떴습니다. 유니티 서버를 연동하는 부분이고 정상동작을 한다면 Hello Server I am 1 이 출력되어야 합니다. 소켓 부분에서 에러가 나서 OnConnectedCompleted 함수를 제대로 실행하시 못하는것 같습니다. 강의 파일을 받아서 실행해도 동일한 오류가 뜨고 아무리 구글링을 해봐도 해결을 못하겠어서 번거로우시겠지만 질문을 드립니다...
안녕하세요. 강의 잘 수강하고 있습니다. 현재 mask rcnn-ballon 데이터셋 학습을 진행중입니다. 주석에서 train, val, test dataset 환경 파라미터가 있다고 나와있는데, train, validation 데이터 이외의 test 데이터셋은 어디에서 확인할 수 있는지 알 수 있을까요? 감사합니다.
test case 2 번의 경우 10 3 6 5 8 5 6 8 7 6 6 7 로 주어지는데 주어진 수의 리스트를 정렬하면 [5 5 6 6 6 6 7 7 8 8] 이 되고 이분 탐색 알고리즘에 의해 해를 구하면 최소 크기가 23일때 [5 5 6 6],[6 6 7],[7 8 8] 을 만족하므로 주어진 output인 24가 아닌 23이 정답이라고 생각했는데 어느 부분에서 잘못생각하였는지 궁금합니다.
h를 무조건 0~99로 설정하기보다는 미리 높이의 min 값과 max값을 구한 후 min~max 범위로 for 문을 돌려주면 더 효율적인 풀이가 될 것 같습니다. from collections import deque N = int(input()) graph = [list(map(int,input().split())) for _ in range(N)] min_rain = 99999999 max_rain = -1 # 높이의 min,max 구해주기 for row in graph: min_tmp = min(row) max_tmp = max(row) if min_tmp < min_rain: min_rain = min_tmp if max_tmp > max_rain: max_rain = max_tmp dr = [1,0,-1,0] dc = [0,1,0,-1] ans = 0 for rain in range(min_tmp+1,max_rain): visited = [[0 for _ in range(N)] for _ in range(N)] cnt = 0 for rr in range(N): for cc in range(N): if visited[rr][cc] == 0 and rain < graph[rr][cc] : visited[rr][cc] = 1 q = deque() q.append((rr,cc)) while q: r,c = q.popleft() for i in range(4): nr = r + dr[i] nc = c + dc[i] if 0 <= nr < N and 0 <= nc < N and visited[nr][nc] == 0 and rain < graph[nr][nc]: visited[nr][nc] = 1 q.append((nr,nc)) cnt += 1 if cnt > ans: ans = cnt print(ans)
안녕하세요! 멋진 강의를 들을 수 있어서 감사하고 있습니다. 잠재요인 기반의 협업필터링 이해와 경사하강법을 이용한 행렬 분해 18:12 에서 나오는 L2 규제에 대해 궁금한 점이 있어서 문의 드립니다. 수학에 약해서 공부해볼겸 수학적으로 해석을 하려는데, 다른 사이트의 참고 내용들을 보다보니 L2 규제에 시가마가 들어가던데 여기서는 안 들어가는 이유가 무엇인지 궁금합니다. 감사합니다!
(2D환경을 기준으로 궁금한 점입니다....) 현재 2DPinCirlce, 2DWave까지 학습을 진행하던 중 2D 게임인데 오브젝트를 변경할 때 Transform의 Scale에서 Z까지 변경하고 있습니다. 만약 Z값을 변경하지 않고 0으로 두었을 때 대부분은 영향을 주지 않는 것 같았는데 혹시 Z값의 변경이 2D게임에서도 영향을 주는 경우가 있을까요? 1. 영향을 주지 않는다면 현재 설명하시고 있는 게임에서는 Scale의 Z값을 모두 0이라 두거나 어떤 값으로 두어도 상관이 없게 되나요? 2. 영향을 주는 경우가 있다면 어떤 경우가 있을까요? 구체적인 사례가 있을까요? 도움 부탁드립니다. 감사합니다 ^^