ShiftScaleRotate에서 Only Scale 변환 후 원본 이미지와 사이즈가 같은 이유가 무엇인지 궁금합니다. ShiftScaleRotate 내부에서 원본 크기로 resize해주는 것인지 내부에서 Super Resolution을 적용해주는 것인지 궁금합니다. 화질이 손상되지 않은거 같아서 여쭈어봅니다.
안녕하세요 선생님, batch_size = 16 n_class = 10 def generate_classification(batch_size=16, n_class=10): pred = torch.nn.Softmax()(torch.rand(batch_size, n_class)) ground_truth = torch.argmax(torch.rand(batch_size, n_class), dim=1) return pred, ground_truth def CE_loss(pred, label): loss = 0. exp_pred = torch.exp(pred) # 이 부분 관련 질문이 있습니다. for batch_i in range(len(pred)): for j in range(len(pred[0])): if j == label[batch_i]: print(pred[0], j) loss = loss + torch.log(exp_pred[batch_i][j] / torch.sum(exp_pred, axis=1)[batch_i]) return -loss / len(pred) CE loss를 구현하는 과정에서 exp_pred = torch.exp(pred) 행이 왜 필요한 것인지 궁금합니다! exp를 취해주는 이유는 모델의 출력값 logits에 exp를 적용해 각 클래스에 대한 예측값을 양수로 변환한다고 알고 있는데 generate_classification 위에서 이미 softmax를 취해서 확률분포로 변환해주기 때문에 음수 값은 나오지 않는데 왜 exp를 적용해주어야 하는지 모르겠어서 여쭤봅니다!
저는 강의를 한번 다듣고나서 강의 도중 강사님께서 코드 작성하신것을 바탕으로 백준 문제에 대한 풀이를 수행하고 있습니다. 그러다 보니 문제 풀이가 기억이 안나거나 헷갈리는 부분이 있을때 수업 자료의 솔루션 코드를 참고하고자 하는데, 그럴때마다 수업 도중 본 코드와 상이하여 당황스럽습니다. 강의 중 짠 코드를 바탕으로 수업자료 끝의 솔루션 코드를 작성해주시면 더 도움이 될것 같습니다.
초보자를 위한 ChatGPT API 활용법 - API 기본 문법부터 12가지 프로그램 제작 배포까지
수업자료 chapter 15를 기준으로 그대로 따라했는데요. aws lamda, api gw gpt의 버전만 수정을 한 상태입니다 (gpt4o) 그런데 계속 "아직 제가 생각이 끝나지 않았어요 잠시후 아래 말풍선을 눌러주세요"와 "생각이 다 끝났나요?"질문들만 주로 눌리게 되더라구요. 체크해봐야하는 부분이 있을까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 쓰레드의 동시성이슈를 syncronized로 해결하였을때 로그를 보면, 00:53:11.012 [ t1] 거래 시작: BankAccountV3 00:53:11.012 [ t2] 거래 시작: BankAccountV3 00:53:11.020 [ t1] [검증 시작] 출금액: 800, 잔액: 1000 00:53:11.021 [ t1] [검증 완료] 출금액:800, 잔액: 1000 00:53:11.489 [ main] t1 state: TIMED_WAITING 00:53:11.490 [ main] t2 state: TIMED_WAITING 00:53:12.021 [ t1] [출금 완료] 출금액:800, 잔액: 200 00:53:12.021 [ t1] 거래 종료 00:53:12.021 [ t2] [검증 시작] 출금액: 800, 잔액: 200 00:53:12.022 [ t2] [검증 실패] 00:53:12.024 [ main] 최종 잔액: 200 이런식으로 t1, t2 두 쓰레드중 하나가 blocked 되는 것이 아니라 모두 time_waiting상태로 유지 됩니다. 뭔가 느낌으로는 큰 상관은 없을 것 같고, 시스템 환경에 따른 차이인 거 같은데, 혹시나 제가 세팅을 잘못했거나 코드를 잘못 짰을 가능성도 있을까요. ## 메인 클래스를 반복해서 실행해보니 t1, t2 스레드 모두 time waiting 상태이거나 모두 blocked 상태가 됩니다.
안녕하세요. JPA를 이용해서 스터디를 하다가 막히는 부분이 있어서 질문 드립니다. 우선 요구사항은 아래 내용입니다. 신규 회원은 1명의 회원을 추천할 수 있습니다. 회원은 본인이 추천받은 총 횟수를 알 수 있습니다. 위 내용을 기반으로 엔티티를 Customer, Referee 2개를 생성 했습니다. 그리고 Referee 엔티티에서 추천한 회원 ID와 추천받은 회원 ID를 필드로 가지려고 합니다. 추천한 회원 ID 필드는 OneToOne 관계로, 추천받은 회원 ID는 ManyToOne 관계로 풀고 싶습니다. 이런 경우에는 어떤식으로 정의를 해야 할까요? @NoArgsConstructor(access = AccessLevel.PROTECTED) @Getter @Entity public class Referee extends CreatedDateTimeEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "referee_id") private Long id; @OneToOne(fetch = FetchType.LAZY) @JoinColumn(name = "customer_id") private Customer customer; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "customer_id") private Customer refereeCustomer; } 감사합니다.
MemberServiceTest에서 Long saveId = memberService.join(member)의 memberService부분에서 밑줄이 그어지며 Cannot resolve symbol 'memberSerivce' 오류가 납니다. 캐쉬도 지워봤습니다. 각각 MemberServiceTest와 MemberService 파일 화면입니다.
왼쪽화면: 강의영상 / 오른쪽: 제 코드 강사님이 하셨을 땐 엔터로 여러 숫자들 입력하고 그 숫자들의 합과 평균을 입력할 수 있는데, 저는 똑같이 쳐도 숫자를 한개씩만 입력할 수 있어요.. 제 코드는 package scanner; import java.util.Scanner; public class ScannerWhile3 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int sum = 0; int count = 0; int input = 0; System.out.println("숫자를 입력하세요. 입력을 중단하려면 -1을 입력하세요: "); while(true){ input = sc.nextInt(); if(input == -1){D break; } sum += input; count++; double average = (double) sum / count; System.out.println("입력한 숫자들의 합계: " + sum); System.out.println("입력한 숫자들의 평균: " + average); } } } 이와 같은데 무엇이 강사님과 다른지 모르겠습니다!
안녕하세요, 강의를 듣고 계신 여러분! 여러분의 학습을 돕기 위해 질문 안내를 드리고자 합니다. 1. chatGPT를 이용해보기 단순한 의문은 chatGPT를 이용해도 해답을 찾을 수 있는 경우가 종종 있습니다! 2. 강의의 어떤 부분에 대한 질문이고, 어떤 부분이 궁금한지 명확히 알려주세요! 강의의 어느 파트에서 의문을 느끼고, 어떤 부분이 궁금한지 를 명확히 제시해 주시면 답변에 도움이 됩니다! 자신은 어떻게 이해했는지 또한 적어주면 좋습니다! ash: python: command not found [Finished in 16ms with exit code 127] [shell_cmd: python -u "/Users/sindonghui/Desktop/ test.py " < input.txt] [dir: /Users/sindonghui/Desktop] [path: /Library/Frameworks/Python.framework/Versions/3.12/bin:/Library/Frameworks/Python.framework/Versions/3.8/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/ com.apple.security .cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/ com.apple.security .cryptexd/codex.system/bootstrap/usr/bin:/var/run/ com.apple.security .cryptexd/codex.system/bootstrap/usr/appleinternal/bin] 밑에 이렇게 떠요 ex) 섹션5의 '그래프 순회 (DFS & BFS) [개념]' 강의 에서 DFS와 BFS 모두 그래프의 모든 노드를 탐색하는 알고리즘이라고 하셨고 시간 복잡도 또한 똑같다고 이해 했습니다. 그러면 DFS와 BFS 중에서 어떤 알고리즘이 더 효율적인지 구별하는 것은 의미가 없는 것일까요? 어느 파트 섹션5의 '그래프 순회 (DFS & BFS) [개념]' 강의 자신은 어떻게 이해했는지 DFS와 BFS 모두 그래프의 모든 노드를 탐색하는 알고리즘이라고 하셨고 시간 복잡도 또한 똑같다고 이해 어떤 부분이 궁금한지 DFS와 BFS 중에서 어떤 알고리즘이 더 효율적인지 구별하는 것은 의미가 없는 것일까요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 데이터를 삭제하는 기능에서 removeNode 를 null 값으로 처리하는 이유가 있을까요? removeNode 를 더 이상 사용되지 않는 것 같은데, 해당 노드의 item 과 next 를 null 값으로 처리해야만 GC 대상이 되는건가요? null 값으로 명시하지 않아도 될 것 같아 질문드립니다. // 추가 코드 public Object remove(int index) { Node removeNode = getNode(index); Object removedItem = removeNode.item; if (index == 0) { first = removeNode.next; } else { Node prev = getNode(index - 1); prev.next = removeNode.next; } removeNode.item = null; removeNode.next = null; size--; return removedItem; }
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기 인터페이스에 구현된 save findById findByName findAll 이 4가지는 메서드로 정의된건가요 ...? 인터페이스는 앞에 접근제어가 없이도 메서드로 정의하는게 가능한건가요 ..?
grid_dtree = GridSearchCV(dtree, param_grid=parameters, cv=3, refit=True, return_train_score=True) grid_ dtree.fit (X_train, y_train) 강의에서는 지금까지 정확도를 도출할때 이미 훈련 데이터로 학습된 모델을 통해 X_test 데이터의 예측값을 구하고 이를 실제 y_test 값과 비교하여 일치도를 구하는 방식으로 하였습니다. 하지만 위의 코드에서는 test 데이터 없이 train 데이터만 grid_dtree에 넣었는데 어떻게 파라미터별 정확도를 평가할 수 있는건지 이해가 안갑니다!! GridSearchCV를 통한 파라미터별 정확도는 어떻게 도출되는것인가요?
i++ 은 1줄이지만 , 2~3개의 cpu 연산이 필요하므로 원자적 연산이 아닙니다. cas 도 상식적으로는 2개 이상의 cpu 연산이 필요한데 cpu 차원에서 1개의 cpu 연산처럼 제공해주기에, 원자적 연산이라고 보는것 같습니다. 아래와 같은 경우 원자적연산인데, int count = 3; 그렇다면 아래의 코드는 원자적연산인가? 생각해보면, max 값을 가져오고 그걸 대입해야 하므로 2개 이상 cpu 연산이 필요한것 같은데 확신은 들지 않습니다. int count = max; -- 그래서... 어디까지가 원자적 연산인지 확실히 알수 있는 방법이나 이와 관련된 스펙문서 등이 있는지 궁금합니다.