묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
yolov5(yolov8) val.py 결과 저장 질문
안녕하세요. 강사님. yolov5(yolov8) val.py 결과 저장 질문드립니다.아래와 같이 val.py 를 수행한 결과를 엑셀에 저장하려면 어떻게 해야 하나요? results = model.val()로 val을 수행하고, print(results.class_result(class_index))로 클래스의 precision, recall, map50, map50-95값을 확인할 수 있었습니다.하지만 Images, Instances 값은 어디서 가져와야 하는지를 모르겠습니다...그리고, conf_matrix = results.confusion_matrix.matrix로 cm을 가져왔는데, yolo val 에서 제공하는 box precision, box recall 값과cm 을 통해 계산한 precision, recall 값에 차이가 있는데, 왜 그런지 모르겠습니다.yolo 문서 상으로는 box precision, recall은 IoU 만 중요시하고, class의 정답 유무는 중요시하지 않다고 하는데,보고서나 발표자료에는 yolo의 box precision, reall을 평가지표로 삼아야 하는지, 계산한 precision recall 값을 지표로 삼아야하는지 모르겠습니다.답변 부탁드립니다. 감사합니다.
-
해결됨실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
Spring Validation 의 @field:NotBlank 등으로 Request DTO 필드 검증 시, 필드타입 선언방식( non-null or nullable )
안녕하세요 강사님. 참 좋은 강의 감사드립니다.예제 고도화 과정에 Request DTO nullable 필드 처리에 어떤 방식이 적절할 지 알수 없어 남기게 되었습니다.Kotlin 객체 필드타입을 크게 두 방식으로 선언 할 수 있습니다.nullablenon-null코프링 기반에서 Request DTO 의 경우,객체필드를non-null 타입으로 선언하면 WebMvc 와 spring-validation 을 함께 사용하면, 발생 가능한 가설을 세워보았습니다.문제:서버 요청에 '비 유효값'`[공백문자["", ' '], null 필드값, 공백 JSON( {} )]`이 넘어올 때, Kotlin 언어의 non-null 타입 속성은, sprint-validation 절차를 거치지 못함. 원인:1. 속성 타입을 non-null 타입 선언 후 컴파일 시 Intrinsics.checkNotNullParameter(field, "field"); 함수가 non-null 검증코드로 DTO 생성자 함수 본체에 추가.2. 앞선 checkNotNullParameter 함수는 DTO 생성을 원천 차단.3. 때문에 Kotlin non-null 검증이 spring-validation 검증 이전에 수행됨을 뜻함. 즉, 검증 대상이 생성이 되어야 spring-validation 절차를 거칠텐데, 검증 대상이 없는 상황이 된다.(이 부분은 저의 뇌피셜이 포함되었으므로 검증되지 못한 분석결과 입니다) 이 문제에 대해 다음의 해결 방법을 생각할 수 있습니다.field 타입을 nullable 하게 선언, 기본값 null 설정data class UserCreateRequest( @param:JsonProperty("email") @field:NotBlank @field:Email val email: String? = null, ⬅️`?`및 기본값 설정 ) { fun toCommand() = UserCreate( /* String ❌ String? 미스매치 */ email = email!!, ✅단언 해결 ) }이 방법은 단언 !! 을 사용하여 전적으로 spring-validation 의 검증에 전적으로 의지하는 코드입니다.의문점은 개인적으로 우아하지 못한 단언 !! 을 꼭 사용해야 할까? 인데요, 다른 방법으로는,Backing 필드 생성자 선언 ➡️ 커스텀 getter 로 Backing 필드값 반환이 떠오르는데요, 이것 또한 보일러-플레이트 코드량이 늘어나서 우아하지 않아 보입니다^^;강사님의 경우에는 어떠한 해결방법을 사용하지는지 궁금해서 질문 남겨보았습니다.읽어 주셔서 감사합니다.
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
공통 Dto validation 방법 질문입니다!!
1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)질문 잘하기 메뉴얼을 읽어보셨나요? (예)==================================================================안녕하세요. 선생님 덕분에 많은 것을 배우고 있는 취준생입니다.현재 상황회원 정보에 대한 공통 DTO 생성 (회원 엔티티에 노출 가능한 모든 필드를 담았습니다.) 목표공통 DTO에 validation 적용 문제 상황공통 DTO를 사용하니 컨트롤러, 서비스 로직에 따라 조건이 달라 Bean validation 적용에 어려움을 겪고 있습니다.ex) 서비스 메소드 마다 member_id가 필요한 경우가 있고, 없는 경우가 있습니다. 생각해본 해결 방법Bean validation(어노테이션)을 통해 최소한에 검증만 한 후 개별 로직안에서 추가 validation을 진행한다.가장 간단하나 로직이 지저분해질 것 같습니다. 공통 DTO를 validation을 따라 분리한다.DTO 분리 기준이 validation이라는 점이 타당하지 않은 것 같습니다. DTO 생성을 별도의 팩토리로 분리하여 팩토리 내에서 validation을 진행한다.DTO 생성과 검증에 대한 로직을 숨길 수 있는 장점이 있지만 DTO 수가 늘어날수록 팩토리 클래스도 많아져서 복잡도가 올라 갈 것 같습니다. DTO 내에 별도의 검증 메소드를 만들어 생성될 때 validation을 진행한다. Bean validation group을 사용한다. 질문JPA 강의에서 공통 DTO를 사용 후 예외 케이스만 분리하신다는 답변을 봤습니다. 공통 DTO에 경우 validation을 주로 어떻게 해결하시는지 궁금합니다!!공통 DTO에 회원 엔티티에 대부분 필드를 담았는데, 위에 말씀하신 공통 DTO를 잘못 이해하여 범위를 너무 크게 잡아 생긴 문제인지 혹은 Bean validation으로 풀어내려는 강박인지(?) 궁금합니다!!읽어주셔서 감사합니다!!
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
Spring boot 2.6.5 버전 validation적용이 안됩니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 기존 질문 답변 참고해서 해봤는데, @Past, @Size, @Validation의 임포트 및 에러발생도 없지만 실제 postman에서 테스트 시 오류가 리턴되지 않네요.
-
미해결Vue.js 끝장내기 - 실무에 필요한 모든 것
computed 버튼 disabled관련 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. validation.js를 만들어 이 로직을 넣었습니다 그럼에도 버튼에 :disabled를 넣으면 유효성 검사를 패스해도 disabled가 안풀려서 로그인 버튼이 눌리지가 않습니다. 어떻게 해야 할까요? computed가 혹시 methods보다 아래에 위치해서 그런가 해서 computed도 data 바로 밑까지 올렸는데도 disabled가 조건이 맞아도 풀리지가 않습니다 function validateEmail(email) { var re = /\S+@\S+\.\S+/; return re.test(email); } export { validateEmail }; -------------------------------------- computed: { isUsernameValid() { return validateEmail(this.username); }, },
-
미해결
이미지데이터 학습 후 평가 시 그래프가 튀는 경우와 정확도 산정
안녕하세요 이미지 데이터를 가지고 학습 및 평가를 하고 있습니다. 모델 별(ResNet, Inception 등) 전이학습을 하고 있고 데이터수는 Train(약 2000장), Valid(약 250장), Test(약 250장) 정도로 구성되어 있습니다. 이 때 질문을 드리고 싶은 것이 몇가지 있는데 초보라 모르는 것이 많아 문의를 드립니다. 많은 조언 부탁 드립니다. 1. 다음과 같이 Valid Accuracy나 Loss 가 위아래 편차가 굉장히 심한데 어떤것이 문제이며 무엇을 바꿔야 하는지 궁금합니다. 2. 위와 같은 경우에 Accuracy를 몇이라고 해야 하는 것일까요? 평균 or 최대값 or 최소값? 3. Keras(tensorflow)를 사용하여 수행중인데 Train, Valid 등은 API내에 예제가 많이 있는데 Test(Evaluation?)에 관한 코드는 잘 없는데, 보통 Valid 까지 수행하나요 아니면 Evaluation 까지 진행해야 하는 것일까요? 4. Keras API를 사용해서 전이학습을 진행중인데 아래와 같이 conv_base에서 include_top=False, conv_base.trainable=False로 해도 전이학습의 효과가 있는 것인지, conv_base의 특정 Layer 부터 동결 혹은 학습을 할 수 있는 방법이 있는 것인지 궁금합니다. 감사합니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
검증 처리의 위치와 서비스 단계에서 validator처리 문제점
안녕하세요 김영한 은사님, 강의 열심히 잘 보고 있습니다.다름 아닌 개인 프로젝트 중 궁금한 질문이 생겨서 다음과 같이 남깁니다.Q1. 검증의 처리는 컨트롤러 or 서비스 단계 중 어디서 하는 것이 적당한가요? 구글링 결과 다 상황에 따라 다르다는 답변을 들었습니다. 그러나 실무 경험이 풍부한 김영한 강사님과 다른 수강생들의 의견이 궁금합니다. 만약 상황에 따라 다른 단계에 구현한다면 그에 따른 유지보수 문제는 감수하고 가는게 맞나요?Q2. 저는 재활용성을 우선시하여 서비스 단계에서 validator 를 주입하여 처리하고 있습니다. 그런데 binding result를 어떻게 처리해야할 지 모르겠습니다.물론 커스텀 에노테이션, bean validation을 사용하면 된다는 것을 알고 있습니다. 그러나 아직은 공부 단계이므로 validator을 통해서만 해결해보고 싶은데 방법이 있을까요? public String join(@ModelAttribute("member") MemberSaveForm memberForm,BindingResult bindingResult) { Member saveMember = new Member(memberForm); //아래와 같은 부적절한 코드 발생 bindingResult = memberService.join(saveMember, bindingResult); //서비스의 메소드 파라미터로 bindingResult를 넣고 그 메소드내에서 검증 처리 후 // 에러를 주입해서 다시 돌려주는 코드 if (bindingResult.hasErrors()) { return "/user/join"; } }