묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결장고 설계철학으로 시작하는 파이썬 장고 입문
'venv' 같은 이름의 가상환경 만들지마세요
어떤 가상 환경인지 환경 이름에 드러나게 작성해주는게 좋습니다.변수명 작성할때도 a, b, 이렇게 하는 것 보다 name, age, 이런 식으로 의미를 명확히 담아서 만드는게 코드 유지보수하기 좋잖아요?나중에 가상환경들이 많아졌을 때, 환경 이름이 venv, venv1, venv2, 이런식으로 되어 있는 것과, django_test_venv, flask_py310_env, streamlit_llm_chatbot_py311_venv 등으로 되어있는 것 중 어떤게 더 사용이 편할지 생각해보시면 되겠습니다.이 강의도 그렇고 인터넷 보면 죄다 예제가 venv로 만드는 것으로 되어있는데 현업에서 이렇게 하다가 개고생하고 드리는 말씀이니 참고하세요...
-
해결됨350개의 개인 앱을 만들어 월급의 7배 수익을 달성한 방법
출시 국가 확장
안녕하세요,"확장적 사고하기" 강의에서 "하나의 앱에 언어와 아이콘만 바꿔서 다양한 나라에 출시"하는 경우를 알려주셨는데요,반대의 생각이 떠올라 질문드립니다. 하나의 앱에서 언어선택을 할 수 있게 하고 그 앱을 여러 국가에 출시하는 것이 더 편하지 않나요? 그렇게 하지 않으시는 이유가 궁금합니다. 제가 이게 더 낫다고 생각한 이유는,다운로드/리뷰를 하나의 앱에 모아서 수치를 늘릴 수 있고관리 포인트도 줄어들기 때문입니다또 플레이스토어에서 앱을 출시할때 국가를 여러개 한번에 선택할 수 있고, 사용자 입장에서도 해당언어 리뷰만 걸러서 볼 수도 있기 때문에 그렇게 어렵지 않다고 생각했습니다. 다양한 시도를 해본 프로그래밍좀비님이라면 이미 생각/시도해보셨을 것 같은데, 제가 생각지못한 어려움이 있거나 혹은 장점이 생각보다 크지 않은지 궁금합니다.
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
빕문 챕터 9 매서드) 문제와 풀이 2 질문
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]import java.util.Scanner; public class Empty { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int balance = 0, depositAmount = 0, withdrawAmonut = 0; int chooose; while (true) { title(); chooose = sc.nextInt(); switch (chooose) { case 1: balance = deposit(balance, depositAmount, sc); break; case 2: balance = withdraw(balance, withdrawAmonut, sc); break; case 3: printNowBalance(balance); break; case 4: endSystem(); return; default: System.out.println("올바른 선택이 아닙니다. 다시 선택해주세요."); } } } public static void title() { System.out.println("-----------------------------------"); System.out.println("1.입금 | 2.출금 | 3.잔액 확인 | 4.종료"); System.out.println("-----------------------------------"); System.out.print("선택: "); } public static int deposit(int balance, int depositAmount, Scanner sc) { System.out.print("입금액을 입력하세요: "); depositAmount = sc.nextInt(); balance += depositAmount; System.out.println(depositAmount + "원을 입금하였습니다. 현재 잔액: " + balance); return balance; } public static int withdraw(int balance, int withdrawAmount, Scanner sc) { System.out.print("출금액을 입력하세요: "); withdrawAmount = sc.nextInt(); if (balance >= withdrawAmount) { balance -= withdrawAmount; System.out.println(withdrawAmount + "원을 출금하였습니다. 현재 잔액: " + balance + "원"); } else { System.out.println(withdrawAmount + "원을 출금하려 했으나 잔액이 부족합니다."); System.out.println("최종 잔액: " + balance + "원"); } return balance; } public static void printNowBalance(int balance) { System.out.println("현재 잔액 : " + balance + "원입니다"); } public static void endSystem() { System.out.println("시스템을 종료합니다."); } }문제풀이 2를 최대한 메서드를 활용하기위해 이런식으로 해보고 김영한선생님 코드와 비교해봤는데 살짝 다르더라고요 비교해서 장담점이 어떤 것인지 실무에서는 어떤 스타일을 선호하는지 궁금합니다!
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
왜 갑자기 atom이 나오나요
왜 갑자기 아톰이 나오나요? 그 전에 작성 해놓은 파일도 없는데 당황스럽네요
-
미해결[2025년 출제기준] 웹디자인기능사 실기시험 완벽 가이드
자식 선택자, 하위 선택자 질문
<header> <div class="header-logo"></div> <div class="navi"></div></header>header 밑에 있는 div에 공통적으로 들어가는 속성이 있는 경우, 자식 선택자 혹은 하위 선택자를 통해 접근할 수 있는데 ① header div {}② header > div{}강사님은 ①번을 사용하시는 이유가 있으신가요?②번이 header 태그의 직계 자식 요소 중 div 태그를 선택한다고 직관적으로 알 수 있다고 보는데... 혹시 제가 모르는 이유가 있는지 궁금합니다. 참고로 유투브에서 다른 강의들도 강사님처럼 ①번을 사용합니다
-
해결됨350개의 개인 앱을 만들어 월급의 7배 수익을 달성한 방법
유틸리티 앱 수익화
안녕하세요, 첫 앱으로 유틸리티 앱을 만들어보고 있습니다.수익화를 어떻게 할지 마침 고민하던차에 딱 저와 같은 상황을 언급하셔서 질문 드려요. (섹션 7 "광고 기반 수익화 전략" 1분 25초 경)강의 초반에 언급하신 "산타 전화" 앱이나 "방귀 소리" 앱은 굉장히 단발성인 앱인데 어떻게 수익을 내셨는지 궁금합니다.
-
미해결Do it! 알고리즘 코딩테스트 with Python
병합정렬이 홀수개의 숫자에 적용될 경우?
안녕하세요.병합정렬이 split and merge 방식을 사용하고 있는데 만약 홀수개에 적용되는 경우는 어떻게 작동하는지 알고리즘에 변화가 필요한지 궁금합니다.
-
해결됨디지털포렌식 입문자를 위한 디지털포렌식 전문가 2급 실기 시험대비 강의(Encase/Autopsy)
신규교재 관련 질문
안녕하세요. 이번 시험부터 디지털포렌식 자격검정 시험 사이트에서 직접 실기서적을 제작하였다고 하여 구매 후 법이론 공부를 하며 해당 강의와 비교하였을 때 조금 햇갈리는 점이 있어 질문드리려고 합니다.(https://exam.forensickorea.org/web/bbs/view/boardView.do?bbsId=1&nttId=2458)전자정보 상세목록 과 압수목록은 같은 개념인가요?교재에서는 모든 압수수색 절차에서 '확인서 작성 -> 전자정보 상세목록 교부' 이라는 내용이 끝 부분에 위치되어 있습니다. 해당 강의에서는 강사님께서 '압수목록 교부' 라고 작성해주셨는데, 비슷한 내용 같아서 답안을 작성할 때 전자정보 상세목록을 압수목록으로 교체하여 작성해도 되는지 질문드립니다. '자진제출' 개념을 정확히 모르겠습니다.저는 저번 실기시험 응시자입니다. 시험 내용 중 정확히 기억이 나진 않지만, 증거를 타인(익명)에게 우편으로 전달받았을 경우 증거가 인정되는지에 관한 문제가 출제된 것으로 생각이 듭니다. 강사님께서 배부해주신 '법이론 pdf'파일에는 해당 개념을 찾기 어려워 이에 관한 정보를 찾고자 서적을 구매하였습니다. 책을 찾아보며 제가 생각한 비슷한 법률이 '자진제출' 이었습니다. 제가 생각한 개념이 맞는지 궁금합니다.긴 글 읽어주셔서 감사합니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Reference Count of ServerSession
안녕하세요. 강의 항상 즐겁게 보고 있습니다.강의 중 ClientService 내에서 발생하는 ServerSession의 레퍼런스 카운트 관리에 대해 궁금한 점이 있어 질문드립니다.제 이해로는, ClientService의 Start 함수에서 session을 명시적으로 hold해주지 않는다면, Session의 ProcessConnect 함수에서 connect event의 owner를 release한 이후에는 해당 session의 레퍼런스 카운트가 0이 되어야 정상이라고 생각했습니다.그런데 샘플 코드에서는 레퍼런스 카운트가 2 이상으로 유지되고 있는 것을 확인하여, 이에 대한 설명을 부탁드리고 싶습니다.감사합니다.
-
미해결그리드(Grid) 핵심이론 및 실전 활용
창 높이가 작을 때 레이아웃 깨짐현상
.project-gallery { display: grid; grid-template-rows: 300px calc(100vh - 600px) 300px; } 100vh 뷰포트 높이로 calc를 사용하게 되면 창 높이가 작아졌을 때 레이아웃이 깨지는데 100%나 calc 가 아닌 1fr 로 사용해야하지 않을까 싶은데 맞을까요?아님 다른 해결책이 있는지도 궁금합니다.
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
Pull requests에 대해
안녕하세요 강의 잘 봤습니다.제가 토이프로젝트에서 작업했을 때는 깃허브에 직접 들어가 Pull requests 메뉴에 들어가서 버튼누르니까 자동으로 merge하고 테스트, 실행까지 다하던데 pull requests 역할이 무슨 뜻이고, 이것도 설정을 어떻게 하는건지 궁금합니다.그리고 강의에서는 merge까지는 안 알려주시던데 deploy.yml에서 코드 작성하면 되는건가요?
-
미해결
vscode 단축키 질문이요
안녕하세요 vscode 에서 현재창을 한개 더 열어서해당 커서 위치의 단어를 파일 찾으시는 것 같은데단축키를 사용하시나요???찾아보니 잘안되는데 맛비님께서는 그렇게 사용하시는 것 같아서요
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-J 질문있습니다
안녕하세요 강사님2-J 문제에 대해서 조금 다른 방법으로도 풀어보았는데(http://boj.kr/ec5ccf849a484544b063b11fa55da87f) 다른 풀이들 둘러보니 거의 대부분 2차원 배열과 bfs를 이용한 풀이가 주를 이루고 있어서혹시 제가 한 방법이 비효율적인 방법이라거나 다른 이슈가 존재 하는지노파심에 궁금하여 질문 남깁니다! 퀄리티 높은 강의와 지속적인 피드백 늘 감사드립니다!
-
해결됨[React / VanillaJS] UI 요소 직접 만들기 Part 1
Tooltip-useSyncExternalStore()에 함수 넘기는 방식에 대해...
안녕하세요!항상 유익한 강의를 제공해 주셔서 감사드리며,강의를 통해 UI를 다양한 방법으로 구현하는 법과 요구 사항의 디테일한 부분을 어떻게 처리해야 하는지에 대해 많은 것을 배우고 있습니다.조심스럽게 여쭤보고 싶은 점이 있어 글을 남깁니다.혹시 시간이 괜찮으시면 선생님의 고견을 듣고 싶습니다. - tooltip의 react 버전viewportContext.tsx에서 useSyncExternalStore()사용부분useSyncExternalStore를 통해 외부요소의 변화를 구독할 수 있게, 첫번째 인자로 subscribe를 넘기고 해당 상태를 컴포넌트와 동기화 할 수 있도록 두번째 인자로 getViewportRect를 넘기고 있습니다. 첫번째 인자인 subscribe는 함수의 참조를 넘기는데, 두번째 인자인 getViewportRect는 "getViewportRect()"로 값을 넘기고 있어, 이 부분에서 조금 의문이 생겨 아래와 같이 수정하면 어떨까 생각했습니다.useSyncExternalStore의 두번째 인자에도 함수의 참조를 넘기도록 수정하여react에게 제어권을 넘기고, getViewportRect에서 리턴된 함수는 stored값을 기억할 수 있도록 즉시실행함수로 만드는 방식입니다.const getViewportRect = (() => { let stored: Rect = DefaultRect; return () => { const el = typeof document !== 'undefined' && document.scrollingElement; if (!el) return stored; const { left, top, width, height } = el.getBoundingClientRect(); const newRect = { left, top, width, height, scrollHeight: el.scrollHeight }; if (newRect && !isSameRect(stored, newRect)) stored = newRect; return stored; }; })(); //1. 즉시실행함수로 수정 const ViewportContextProvider = ({ children }: { children: ReactNode }) => { const viewportRect = useSyncExternalStore(subscribe, getViewportRect); //2.두 인자 모두 참조만 넘기도록 수정 return ( <ViewportContext.Provider value={viewportRect}> {children} </ViewportContext.Provider> ); };이렇게 수정하는 것이 더 나은 방법일지 여쭙고 싶습니다. useStyleView.ts에서 useLayoutEffect의 의존성배열에 참조 자료형 넣는 것 viewportRect가 객체인데, 이를 의존성배열에 그대로 넣는것이 괜찮은지 궁금합니다. const viewportRect = useViewportRect(); //객체 useLayoutEffect(() => { ... }, [viewportRect, wrapperRef, targetRef, position]); viewportRect에서 개별 값만 분리해서 넣는 방법도 고려해 보았습니다. const { top, left, width, height } = useViewportRect(); //생각해본 버전 useLayoutEffect(() => { ... }, [top, left, width, height, wrapperRef, targetRef, position]); 강의자료에 완성코드가 있다고 하는 걸 어디서 본 것도 같은데... 제가 어디있는지 찾지를 못해서...🥲강의 내용만 보고 작성한 코드임을 양해 부탁드립니다. 🙇♀
-
해결됨카카오,구글 SNS 로그인(springboot3, vue3)
토큰 생성강의 코드 실행 문의
spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/oauthdb?useSSL=false username: root password: jinwook219 jpa: database: mysql # InnoDB?? database-platform: org.hibernate.dialect.MySQL8Dialect generate-ddl: true hibernate: ddl-auto: create show_sql: true jwt: # 32글자 이상 인코딩된 문자열 : oauthserversecretaccesstokenoauthserversecretaccesstokenoauthserversecretaccesstoken secret: b2F1dGhzZXJ2ZXJzZWNyZXRhY2Nlc3N0b2tlbm9hdXRoc2VydmVyc2VjcmV0YWNjZXNzdG9rZW5vYXV0aHNlcnZlcnNlY3JldGFjY2Vzc3Rva2Vu expiration: 3000 #분단위 package com.example.oauth.auth; import io.jsonwebtoken.Claims; import io.jsonwebtoken.Jwts; import io.jsonwebtoken.SignatureAlgorithm; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import javax.crypto.spec.SecretKeySpec; import java.security.Key; import java.util.Date; @Component public class JwtTokenProvider { private final String secretKey; private final int expiration; private Key SECRET_KEY; public JwtTokenProvider(@Value("${jwt.secret}") String secretKey, @Value("${jwt.expiration}") int expiration) { this.secretKey = secretKey; this.expiration = expiration; this.SECRET_KEY = new SecretKeySpec(java.util.Base64.getDecoder().decode(secretKey), SignatureAlgorithm.HS512.getJcaName()); } public String createToken(String email, String role){ // claims는 jwt토큰의 payload부분을 의미 Claims claims = Jwts.claims().setSubject(email); claims.put("role", role); Date now = new Date(); String token = Jwts.builder() .setClaims(claims) .setIssuedAt(now) .setExpiration(new Date(now.getTime()+ expiration*60*1000L)) .signWith(SECRET_KEY) .compact(); return token; } } Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. 2025-04-29T00:35:55.742+09:00 ERROR 3891 --- [ main] o.s.boot.SpringApplication : Application run failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jwtTokenProvider' defined in file [/Users/macforjinwook/Desktop/oauth/build/classes/java/main/com/example/oauth/auth/JwtTokenProvider.class]: Unexpected exception during bean creation at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:536) ~[spring-beans-6.2.5.jar:6.2.5] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:339) ~[spring-beans-6.2.5.jar:6.2.5] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:347) ~[spring-beans-6.2.5.jar:6.2.5] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:337) ~[spring-beans-6.2.5.jar:6.2.5] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-6.2.5.jar:6.2.5] at org.springframework.beans.factory.support.DefaultListableBeanFactory.instantiateSingleton(DefaultListableBeanFactory.java:1155) ~[spring-beans-6.2.5.jar:6.2.5] at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingleton(DefaultListableBeanFactory.java:1121) ~[spring-beans-6.2.5.jar:6.2.5] at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:1056) ~[spring-beans-6.2.5.jar:6.2.5] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:987) ~[spring-context-6.2.5.jar:6.2.5] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:627) ~[spring-context-6.2.5.jar:6.2.5] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) ~[spring-boot-3.4.4.jar:3.4.4] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:752) ~[spring-boot-3.4.4.jar:3.4.4] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:439) ~[spring-boot-3.4.4.jar:3.4.4] at org.springframework.boot.SpringApplication.run(SpringApplication.java:318) ~[spring-boot-3.4.4.jar:3.4.4] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1361) ~[spring-boot-3.4.4.jar:3.4.4] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1350) ~[spring-boot-3.4.4.jar:3.4.4] at com.example.oauth.OauthApplication.main(OauthApplication.java:10) ~[main/:na] Caused by: org.springframework.util.PlaceholderResolutionException: Could not resolve placeholder 'jwt.secret' in value "${jwt.secret}" at org.springframework.util.PlaceholderResolutionException.withValue(PlaceholderResolutionException.java:81) ~[spring-core-6.2.5.jar:6.2.5] at org.springframework.util.PlaceholderParser$ParsedValue.resolve(PlaceholderParser.java:423) ~[spring-core-6.2.5.jar:6.2.5] at org.springframework.util.PlaceholderParser.replacePlaceholders(PlaceholderParser.java:128) ~[spring-core-6.2.5.jar:6.2.5] at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:118) ~[spring-core-6.2.5.jar:6.2.5] at org.springframework.util.PropertyPlaceholderHelper.replacePlaceholders(PropertyPlaceholderHelper.java:114) ~[spring-core-6.2.5.jar:6.2.5] at org.springframework.core.env.AbstractPropertyResolver.doResolvePlaceholders(AbstractPropertyResolver.java:255) ~[spring-core-6.2.5.jar:6.2.5] at org.springframework.core.env.AbstractPropertyResolver.resolveRequiredPlaceholders(AbstractPropertyResolver.java:226) ~[spring-core-6.2.5.jar:6.2.5] at org.springframework.context.support.PropertySourcesPlaceholderConfigurer.lambda$processProperties$0(PropertySourcesPlaceholderConfigurer.java:201) ~[spring-context-6.2.5.jar:6.2.5] at org.springframework.beans.factory.support.AbstractBeanFactory.resolveEmbeddedValue(AbstractBeanFactory.java:971) ~[spring-beans-6.2.5.jar:6.2.5] at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1577) ~[spring-beans-6.2.5.jar:6.2.5] at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1555) ~[spring-beans-6.2.5.jar:6.2.5] at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:913) ~[spring-beans-6.2.5.jar:6.2.5] at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ~[spring-beans-6.2.5.jar:6.2.5] at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:240) ~[spring-beans-6.2.5.jar:6.2.5] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1381) ~[spring-beans-6.2.5.jar:6.2.5] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1218) ~[spring-beans-6.2.5.jar:6.2.5] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:563) ~[spring-beans-6.2.5.jar:6.2.5] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523) ~[spring-beans-6.2.5.jar:6.2.5] ... 16 common frames omitted 종료 코드 1(으)로 완료된 프로세스 Caused by: org.springframework.util.PlaceholderResolutionException: Could not resolve placeholder 'jwt.secret' in value "${jwt.secret}"이 부분을 보면 yml에 있는 jwt.secret을 인식 못하는 것 같은데 원인을 못 찾겠습니다 강사님 깃허브 코드를 붙혀넣어봐도 왜 이런지 잘 모르겠습니다. 혹시 이런 경우에는 어떤 것을 찾아봐야하나요??
-
미해결
Faster-RCNN 성능 지표 관련 질문입니다.
Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.353Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.599Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.331 Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.213 Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.386 Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.541 Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.221 Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.419 Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.452 Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.281 Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.529 Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.609 위의 성능지표는 Faster-RCNN을 훈련한 결과로 출력 된 성능 지표입니다. Faster-RCNN과 YOLOv8의 성능을 비교해보기 위해서 성능 지표를 확인하려고 하는데Faster-RCNN의 결과로 출력된 성능 지표가 YOLO의 성능지표랑 조금 다른거같아 어떻게 비교해야할지 궁금합니다. YOLO는 훈련 후 결과가 Precision, Recall, mAP50, mAP50-95로 나오게 되는데Faster-RCNN의 경우에는 위와 같이 Average Precision, Average Recall이 다양한 IOU 임계값에 따라 출력되는것으로 보이는데 여기서 YOLO 처럼 Precision,Recall,mAP50, mAP50-95 를 구할수 있는지 궁금합니다. from detectron2.evaluation import COCOEvaluator, inference_on_datasetfrom detectron2.data import build_detection_test_loaderfrom detectron2.engine import DefaultTrainerimport os# 가중치 경로 설정cfg.MODEL.WEIGHTS = os.path.join(cfg.OUTPUT_DIR, "model_final.pth")# 학습된 모델 로드trainer = DefaultTrainer(cfg)trainer.resume_or_load(resume=True) # 평가 진행evaluator = COCOEvaluator("coco_test", cfg, False, output_dir="./output/")val_loader = build_detection_test_loader(cfg, "coco_test")results = inference_on_dataset(trainer.model, val_loader, evaluator)# 결과 출력print("Test 결과 (coco_test):", results)위의 코드처럼 detectron2에서 Faster-RCNN 으로 훈련 시킨 후 가중치를 가지고와서 COCOEvalutator로 test한 결과 인데 Precision,Recall, mAP50을 YOLO와 동일하게 측정하고 싶습니다.어떻게 해야할까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
df 조건문? 관련 순서 문의 입니다.
과거에 파이썬을 배울때df[출력행][조건] 이런식으로 배워서 익숙한데2회 기출유형(작업형1) 3번 문제 마지막은 df[조건][출력행] 으로 되어 있어 궁금한 점이 있습니다. 순서는 상관이 없는건가요?전 아래와 같이 코딩했고 결과값은 같습니다.print(df['age'][cond1|cond2].sum())
-
미해결데이터 분석 SQL Fundamentals
1인지 M인지는 결국엔 테이블을 직접 확인을 해야 하는걸까요?
테이블을 열어서 봤을 때 on에서 서로 연결할 키들의 중복들이 많으면 이 테이블은 M이고유니크하면 1이 된다 라고 이해하면 될까요?그래서 emp_salary_hist, emp_dept_hist, emp는 m이고dept는 1 로 이해 했는데 맞게 이해한 건지 궁금합니다.감사합니다.
-
미해결ESXi 가상 인프라 구축과 보안 솔루션을 활용한 이상징후 탐지 모니터링
3가지 방법중 Vmware workstation만 사용을 선택햇을 때 어떻게 진행하면 되나요
램이 16G라 3번째 방법으로 수행해야하는데 esxi에 리눅스 민트는 올린상태인데vmware 자체에 우분투랑 칼리를 올리는건가요 아니면 esxi안에 우분투랑 칼리를 리눅스 민트처럼 올리는건가요 제가 초보라 잘 이해가 안되네요
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
rds vs mysql
안녕하세요! 여기에서는 현재 mysql을 ec2환경에 적은 것 같은데 rds로 db환경을 구축하고 연결하는 방법과는 다른 것인가요?