안녕하세요 강사님, 항상 좋은 수업 잘 듣고있습니다. 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를 사용할 수 있을까요? 감사합니다.
안녕하세요. 강의 잘 수강하고 있습니다. 현재 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 규제에 시가마가 들어가던데 여기서는 안 들어가는 이유가 무엇인지 궁금합니다. 감사합니다!
데이터 전처리 - 스케일링 - 01 강의 1분47초에서 표준화로 데이터의 피처 각각이 평균이 0 이고 분산이 1인 가우시안 정규분포로 바꿔준다고 했는데요. 원래 데이터가 정규분포를 가졌다면 xi_new (표준화 식)식 으로 평균이 0 이고 분산이 1인 정규분포를 도출할 수 있지만 애초에 정규분포를 이루지 않는 데이터의 경우 는 해당 식을 적용한다고 해서 정규분포가 되지 않을 텐데 이런 경우는 어떻게 해서 정규분포로 만든다는 것일까요? 답변 부탁드립니다. 감사합니다.
yolov5에서 labelimg를 사용하는데 labelimg로 라벨링 작업을 한 후, 새로운 이미지들이 생겨 이전에 라벨링 작업을 했던 이미지 폴더에 새로운 이미지들을 추가하여 라벨링 작업을 이어서 했더니, 전에 작업했던 라벨링들이 다 지워지는 현상이 발생했습니다. labelimg를 사용하여 전에 라벨링 작업했던 것과 새로 라벨링 작업한 것을 합쳐도 이런 현상이 발생하는데, labelimg에서 새로운 이미지를 추가하려면 모든 이미지들을 처음부터 라벨링 다시 해야 하나요? 아니면 해결방법이 있을까요?
plotly express 예제 중 질문입니다. 1. 우분투 버전 (base) root@gd-virtual-machine:~# cat /etc/issue Ubuntu 20.04.4 LTS \n \l 2. 파이썬 버전 (base) root@gd-virtual-machine:~# python --version Python 3.9.7 3. 공부하는 부분 [2/5] plotly express를 통한 일별 시세 시각화 px.line 을 처음에 실행하면 그래프가 나옵니다. 그러나, 저장된 파일로 실행하면 그래프가 안 나옵니다. 이런 경우도 보셨나요? 4. 해당 소스 import plotly.express as px import pandas as pd df = px.data .stocks() df px.line(df, x="date", y="GOOG") 처음 실행은 정상적으로 그래프가 나옴 저장된 파일로 실행하면 비정상적으로 그래프가 나오지 않음
기존에 사용하던게 Visual code여서 이거 하나로만 사용하고 싶어서 코드로 복사하여 사용하고 관련 라이브러리를 설치하고 실행했는데 오류가 발생해서요. 혹시 Visual code에서도 실행할 수 있는 방법이 있을까요?? C:\StartCode>C:/Users/dantr/AppData/Local/Microsoft/WindowsApps/python3.10.exe c:/StartCode/교육/test1.py c:\StartCode\교육\test1.py:21: DeprecationWarning: use options instead of chrome_options driver = webdriver.Chrome ('chromedriver', chrome_options=chrome_options) Traceback (most recent call last): File "C:\Users\dantr\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\selenium\webdriver\common\service.py", line 72, in start self.process = subprocess.Popen(cmd, env=self.env, File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.2032.0_x64__qbz5n2kfra8p0\lib\subprocess.py", line 969, in init self._execute_child(args, executable, preexec_fn, close_fds, File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.2032.0_x64__qbz5n2kfra8p0\lib\subprocess.py", line 1438, in execute child hp, ht, pid, tid = _winapi.CreateProcess(executable, args, FileNotFoundError: [WinError 2] 지정된 파일을 찾을 수 없습니다 During handling of the above exception, another exception occurred: Traceback (most recent call last): File "c:\StartCode\교육\test1.py", line 21, in <module> driver = webdriver.Chrome ('chromedriver', chrome_options=chrome_options) File "C:\Users\dantr\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\selenium\webdriver\chrome\webdriver.py", line 73, in init self.service.start() File "C:\Users\dantr\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\selenium\webdriver\common\service.py", line 81, in start raise WebDriverException( selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home