어제 질문 답변 감사드립니다! 궁금한게 해결되었습니다..ㅎ 오늘도 질문이 좀 있어서 여쭤보고 싶습니다..! 혹시 augmentation을 한 뒤에 데이터셋을 저장하는 코드를 알 수 있을까요? 예를 들어, 1000개의 이미지 데이터가 train_set에 있고, DataLoader에서 transform을 통해 이 1000개를 변형해가며 로드할텐데, 이 로드한 데이터들을 저장하고 싶습니다! 다양한 augmentation을 통해서 기존 데이터의 3배정도인 3000개의 변형 데이터들을 저장하고 싶은데 코드를 어떻게 짜야할지 모르겠어서 질문드립니다. 요즘 예전 대회들에 있었던 불균형 이미지 데이터 분류를 연습하고 있는 중인데, 라벨이 총 10개에 어떤 라벨에는 데이터가 600개 가까이 되고, 어떤 라벨에는 데이터가 10개도 안되는 경우들이 있는 불균형이 매우 심한 데이터들입니다. 이 불균형을 weightedrandomsampler에 augmentation을 활용하여 불균형을 해소하고자 하였습니다. validation용으로 원본데이터에서 30%만큼 지정을 해 둔 뒤, train용으로 원본데이터를 weightedrandomsampler를 활용해 원본데이터를 변형하고 가중치를 주어 데이터가 적은 라벨의 데이터를 늘려 학습했습니다. 그 뒤에 아까 분리해 놓았던 validation데이터를 분류했습니다만... 평가기준인 weighted F1 score가 생각보다 낮게 나와서 고민입니다.. 제 생각에는 결국 validation 데이터에는 여전히 라벨별로 불균형이 매우 심한 상태이므로 라벨별로 동등한 양의 데이터로 학습한 모델에서는 제대로 예측을 못한것이 아닐까합니다. 그래서 위에서 질문한 코드를 통해 변형된 데이터에 원본 데이터를 합쳐서 학습을 시키고, 그 다음에 validation을 하면 약간은 나아질까 하는 생각이 듭니다만.. 호형님이라면 어떻게 하실지 궁금해서 여쭤봅니다. 질문이 너무 길고 장황해서 죄송합니다..ㅜ
안녕하세요, 강사님. CVAT로 Segmentation 커스텀 데이터셋을 만들 때 폴리곤을 이용하여 해당 영역을 마스크를 해주었을 때는 결과가 잘 나오는데 폴리라인으로 영역을 표시해주고 테스트를 하니 마스크 형태로 영역이 잡혀서 나오더라구요. 폴리곤이 아닌 폴리라인을 이용하여서는 segmentation 결과를 얻을 수 없나요?
우선순위 큐를 써서 문제를 풀었는데 채점 지원이 안되다 보니 제 논리에 허점이 있나 확인차 질문드립니다. 도착지 정보와 현재 지점까지 오는데 걸리는 비용, 환승 횟수 정보를 가지고 있는 Path 클래스를 이용했습니다. static class Path implements Comparable<Path>{ int end, cost, t; public Path(int end, int cost, int t) { this.end = end; this.cost = cost; this.t = t; } @Override public int compareTo(Path p) { return this.cost - p.cost; } } public int solution(int n, int[][] flights, int s, int e, int k){ int answer = 0; ArrayList<ArrayList<Path>> list = new ArrayList<>(); for(int i = 0; i < n; i++) { list.add(new ArrayList<>()); } for (int[] flight : flights) { int start = flight[0]; int end = flight[1]; int cost = flight[2]; list.get(start).add(new Path(end, cost, 0)); } PriorityQueue<Path> pq = new PriorityQueue<>(); for (Path path : list.get(s)) { pq.add(path); } while(!pq.isEmpty()) { Path cur = pq.poll(); if(cur.t <= k && cur.end == e) { answer = cur.cost; break; } for (Path path : list.get(cur.end)) { pq.add(new Path(path.end, path.cost + cur.cost, cur.t + 1)); } } return answer == 0 ? -1 : answer; } 클래스를 만들지 않고 List<int[]> 로 만드시는 이유도 궁금합니다. 배열로 만들면 int[0]이 무엇이 의미하는지 알기 힘들지만, 클래스로 만들면 end, cost 등 변수 이름으로 표현하기더 쉬워서 좋은 것 같은데 알고리즘에는 부적합한가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 사용 기기는 맥북 m1입니다. 자바 11을 설치했고, 강의대로 스프링 부트에서 프로젝트를 생성했는데 사진처럼 계속 오류가 뜹니다...ㅠㅠ 질문 게시판도 검색해 보았는데 원인을 도저히 찾을수가 없어서 질문 올립니다.
상속 강의에서 Animal 스크립트와 Test 스크립트를 작성하셨는데, Animal 스크립트에서 Animal 부모 클래스와 캣 독의 자식 상속까지는 이해가 되었습니다. 하지만 해당 내용을 별개의 스크립트인 Test에서 불러와 Animal 클래스의 속성을 사용하는건 어떤 연결고리가 있나요? MonoBehaviour 때문에 연결이 되는건가요? 아니면 Animal 스크립트의 클래스들이 Public 인 상태로 클래스변수를 만들었기 때문인가요? 만약 그렇다면 스크립트들의 구조를 부모클래스만 모아져있는 스크립트를 별개로 두고 구성하게되는 경우도 생기나요?
안녕하세요 큰돌 강사님 놀이공원 문제를 풀다가 맞왜틀엘 빠져서 한참 고민하다 이분탐색의 hi 최댓값을 1e18로 잡은게 원인임을 찾았고 600억으로 바꾸니 정답처리 되는것 까지 확인했습니다. 강사님께서는 600억을 잡으셨고 그 이유도 이해를 했는데 1e18로 잡았을때 시간초과가 났더라면 이분탐색의 연산 횟수가 늘어서 그랬는지 분석을 해봤을텐데 "틀렸습니다"가 나와버리니 그 이유를 모르겠습니다. 이분 탐색에서 범위가 커진것이 왜 오답 처리가 된 것인지 그 이유가 궁금합니다. 1e18로 잡아서 틀린 오답코드 http://boj.kr/475081ce3a674e36b5f5941ddcd85484 600억으로 바꿔서 맞은 정답코드 http://boj.kr/9f9ba12d52124483a6b73384541c159f
mysql 실행할 때 프롬프트에서 mysql -h localhost -u root -p 로 입력한 사용자 명이랑 config.js 파일에서의 username값과 일치해야 하나요? 그리고 프롬프트로 들어가지 않고 그냥 MySQL 8.0 Command Line Client 파일을 클릭해서 실행시키면 바로 비번입력하는게 나오던데 이렇게 들어가도 상관없나요?
14:54분에 ls -al의경우 공백으로 나눠져있어서 -t를 이용해서 구분안하고 바로 -k로 정렬할수있다고 하셨는데 제가 공백으로 구분하는식을 임의로 ls -al | sort -t' ' -k 6 -n이렇게했을때 제가 원하는 "월"을 기준으로 정렬이 되지않았습니다. 왜이럴까요? 그리고 공백으로 정렬된 파일같은경우는 -t를 안해줘도 되는건가요?
앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강의명 : (기초-3) 가위바위보 앱 만들기 / 코드에 대한 자세한 설명 (기초 앱 13강) (현상) 1) let select = sender.currentTitle! --> 에러발생 Fatal error: Unexpectedly found nil while unwrapping an Optional value 2) let select = sender.titleLabel?.text --> 에러없음. 그런데, 강사님 다운받은 소스로 실행시, 에러가 발생하지 않습니다. (질문) 결국, 코드 문제가 아니라, 옵션 설정 혹은 객체에서 코드로 드래그 연결하는 부분에서 수정/삭제/추가 작업을 하면서 뭔가 유실된게 아닐까 추측하는데, 무엇을 점검해야 될까요? ( 코드는 똑같은 거 전부 점검했습니다. )
안녕하세요, 언리얼 프로그래밍 Part 1 강의를 듣고있는 문민철이라고 합니다. 언리얼 리플렉션 시스템 관련 내용을 들으면서 궁금한 것이 있어 질문드립니다. 어쩌면 리플렉션 시스템에 국한된 질문이 아닌, 전반적인 질문이 될 수도 있겠네요. 1. 강의에서는 언리얼 리플렉션 시스템이 어떤 것이고, 어떤 역할을 하는지에 대해 다뤄주셨습니다. 제가 궁금한 것은 이 기능들이 어떻게 동작하는지에 대한 내부 동작 원리 입니다. (언리얼엔진의 내부 구조 와 동작 원리 에 대한 지식을 얻기 위해 본 강의를 신청했습니다.) 2. 문서만으로는 이 내용들을 이해하는게 제한적으로 보이고, 실제 코드 분석을 하면서 이해해야 할 것 같습니다. 코드 분석 방법론 (철학)에 대해 질문드리고 싶습니다. - 소규모 코드의 경우 전체적으로 분석을 하면 되지만, UE5와 같은 대규모 코드의 경우 분석을 위해서는 접근하는 방법론이 필요해 보입니다. 분석하는 방법론 을 추천해 주시면 감사하겠습니다. 3. 마지막으로, 이 강의를 들은 후 해 볼만한 과제(ex: Unreal Build System 동작 원리 분석 등, 언리얼 엔진의 내부 구조를 이해하기 위해 도움이 될 만한 것들)를 추천해 주시면 감사하겠습니다. 감사합니다.