묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
efficientdet 실습 질문
강사님 안녕하세요 올려주신 efficientdet 수업과 예제를 통해서 제가 가지고 있는 데이터셋으로 object detection을 해보려고 하는데 계속 오류가 발생해서 질문을 작성하게 되었습니다 현재 커스텀데이터로 tfrecord 파일을 만드는 것까지는 전부 완료한 상태입니다. 코드에서 변경한 부분은 주소와 자료에서 라벨이름이 car, pool 예제에서와 같이 숫자가 아닌 한글 단어로 되어있어 해당 부분을 int가 아니라 byte로 바꾸고 encode를 추가한 것 외에는 없습니다 만들어진 tfrecord를 가지고 모델에 학습시키는 코드를 실행했을 때 코드 가장 앞에 requirements.txt를 이용하는 코드를 돌리면 numpy가 1.19로 다시 재설치 되기 때문에 config.override(params, True)가 포함된 셀에서 ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 88 from C header, got 80 from PyObject 에러가 발생하게 됩니다. 찾아보니 해당 오류는 numpy 버전이 낮아서 발생한다고 해서 requirements.txt 실행 후 numpy를 삭제하고 다시 설치하는 방식으로 버전을 1.21로 변경하면 오류가 발생하기 않다가 model.fit을 하는 셀에서 NotImplementedError: Cannot convert a symbolic Tensor (parser/strided_slice_16:0) to a numpy array. This error may indicate that you're trying to pass a Tensor to a NumPy call, which is not supported 이라는 에러가 발생하게 됩니다 혹시 어떻게 해결하면 좋을지에 대해 조언해주실수 있으실까요? 감사합니다 아래는 문제가 생겼던 셀의 코드 입니다 class TRAIN_CFG: model_name='efficientdet-d2' strategy='' model_dir=model_weight pretrained_ckpt = ckpt_path#coco로 pretrained된 checkpoint파일이 있는 디렉토리 위치 #num_classes=3으로 변경 hparams='num_classes=3,moving_average_decay=0,mixed_precision=true' use_xla=False use_fake_data=False #max_instances_per_image를 200으로 설정하고 #d2모델이 상대적으로 더 크기 때문에 batch_size를 8로 설정시 GPU Out of Memory발생 batch_size=4 eval_samples=5000 #evaluation image데이터 갯수 steps_per_execution=1 #train시 steps 횟수 num_examples_per_epoch=3000 #1epochs 시 적용하는 examples 개수 num_epochs=20 #epochs 횟수 train_file_pattern=train_temp+'/*.tfrecord' test_file_pattern=test_temp+'/*.tfrecord' test_json_file=None #optional coco validation json mode='traineval' #train만 적용 또는 train과 eval함께 적용(traineval) num_shards=100 max_instances_per_image=100 num_cores=2 tpu=None gcp_project=None tpu_zone=None eval_master='' eval_name=None tf_random_seed=2021 profile=False debug=False sys.path.append('./automl/efficientdet') from keras.train import setup_model import hparams_config import utils from keras import tfmot from keras import train_lib from keras import util_keras config=hparams_config.get_detection_config(TRAIN_CFG.model_name) config.override(TRAIN_CFG.hparams) steps_per_epoch=TRAIN_CFG.num_examples_per_epoch // TRAIN_CFG.batch_size if tf.config.list_physical_devices('GPU'): ds_strategy=tf.distribute.OneDeviceStrategy('device:GPU:0') else: ds_strategy=tf.distribute.OneDeviceStrategy('device:CPU:0') print(ds_strategy) params=dict( profile=TRAIN_CFG.profile, mode=TRAIN_CFG.mode, model_name=TRAIN_CFG.model_name, steps_per_execution=TRAIN_CFG.steps_per_execution, num_epochs=TRAIN_CFG.num_epochs, model_dir=TRAIN_CFG.model_dir, steps_per_epoch=steps_per_epoch, strategy=TRAIN_CFG.strategy, batch_size=TRAIN_CFG.batch_size, tf_random_seed=TRAIN_CFG.tf_random_seed, debug=TRAIN_CFG.debug, test_json_file=TRAIN_CFG.test_json_file, eval_samples=TRAIN_CFG.eval_samples, num_shards=ds_strategy.num_replicas_in_sync, max_instances_per_image = TRAIN_CFG.max_instances_per_image ) config.override(params, True) #image size를 tuple 형태로 변환. 512는 (512,512)로 '1920x880'은 (1920, 880)으로 변환 config.image_size=utils.parse_image_size(config.image_size) print(config) sys.path.append('./automl/efficientdet') from keras import train import numpy as np config.batch_size=4 train_steps_per_epoch=train_df.shape[0] test_steps_per_epoch=test_df.shape[0] print('train_steps_per_epoch : ',train_steps_per_epoch, 'test_steps_per_epoch : ', test_steps_per_epoch) test_dataset=get_dataset(False, config) if 'eval' in config.mode else None model.fit( get_dataset(True, config), epochs=20, steps_per_epoch=train_steps_per_epoch, callbacks=train_lib.get_callbacks(config.as_dict(), test_dataset), validation_data=test_dataset, validation_steps=test_steps_per_epoch ) tf.keras.backend.clear_session()
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
next.config.js 설정 문제
next.config.js 파일입니다. .svg 등의 이미지 파일의 확장자가 필요하여 아래와 같이 설정하였습니다. 참조 사이트: https://tomboy90.medium.com/next-js-url-loader-%EC%82%AC%EC%9A%A9-e2acf4898b7b const withAssetsImport = require('next-assets-import'); module.exports = withAssetsImport({ urlLoaderOptions: { rules: [ { test: /\.(png|jpg|gif|mp4)$/i, use: [ { loader: 'url-loader', options: { limit: 8192, }, }, ], }, ], }, }); 여기에서 const withBundleAnalyzer = require('@next/bundle-analyzer')({ enabled: process.env.ANALYZE === 'true', }); module.exports = withBundleAnalyzer({ distDir: '.next', webpack(config, { webpack }) { const prod = process.env.NODE_ENV === 'production'; const plugins = [ ...config.plugins, new webpack.ContextReplacementPlugin(/moment[/\\]locale$/, /^\.\/ko$/), ]; return { ...config, mode: prod ? 'production' : 'development', devtool: prod ? 'hidden-source-map' : 'eval', plugins, }; }, }); 강의에서 알려주신 이것도 같이 적용하고싶은데, 여러 방법을 시도해봤으나 둘중에 하나만 적용이 되고있는 상태입니다. 어떤식으로 접근을 하면 좋을까요?
-
미해결Slack 클론 코딩[백엔드 with NestJS + TypeORM]
인터셉터 활용법에 대해 질문 드립니다...
우선 제가 백엔드와 프론트를 따로 개발하는 중 입니다. 프론트 개발자가 바디에 값을 넣어서 보낼때, 모든 값들이 전부 스트링으로 넣어야 한다고 합니다... 근데 제가 엔티티 작성시, 숫자인지 최대 최소 등의 유효성 검사를 넣어뒀는데, 스트링일시 숫자가 아니라고 판단해서 문제입니다. 유효성 검사에 들어가기전에 가로채서 타입캐스팅을 먼저 해주고 싶은데, 혹시 인터셉터로 가능할까요?
-
미해결실전! 웹사이트제작! Step by Step! ('라한호텔' 사이트제작_Application Course)
비주얼03 제작부분에 전체배경화면
비주얼03 제작부분에 전체배경화면 스케일 적용이 안되네요 확인부탁드립니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
25 x 25 질문입니다
강사님 while(true) 로 하고 강사님의 코드와 똑같이하고 실행하면 마우스 커서 포인트가 0,0 에서 25*25 계속 생성이 안되고 쭉 내려오는식으로 계속 생성이 됩니다. using System; namespace Algorithm { class Program { static void Main(string[] args) { Console.CursorVisible = false; const int WAIT_TICK = 1000 / 30; const string CIRCLE = "●"; int lastTick = 0; while(true) { #region 프레임 관리 // FPS 프레임 ( 60프레임 OK 30프레임 이하로 내려가면 뚝뚝 끊긴다) int currentTick = System.Environment.TickCount & Int32.MaxValue; // 만약에 경과한 시간이 1/30 초볻 작다면 continue; 한다. if(currentTick - lastTick < WAIT_TICK) continue; lastTick = currentTick; #endregion // 1. 입력 // 2. 로직 // 3. 렌더링 Console.SetCursorPosition(0, 0); for(int i = 0; i < 25; i++) { for(int j =0; j< 25; j++) { Console.ForegroundColor = ConsoleColor.Green; System.Console.Write(CIRCLE); } System.Console.WriteLine(); } } } } }
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
useEffect에서 componentDidUpdate기능만 사용하는 법
안녕하세요 제로초님. 프론트 수정 중에 막히는 부분이 생겨 질문 드립니다. 회원가입 할 때 비밀번호 input이 변경 될 때마다 유효성 검사를 하려하는데 , 아래처럼 작성하면 렌더링 하자마자 setCheckMsg('일치합니다')가 실행되어서 초기값을 넣지 못하더라구요. state가 변경될 때만 useEffect가 작동하게 할 수 있나요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
handlerAdapters 탐색 방법?
현재 어댑터의 작동 방식을 예시로 보여주시기 위해각종 핸들러에 대한 정보를 frontController 부분에서 모두 해쉬맵에 넣어놓고 해쉬맵을 for문으로 순회하여 적절한 핸들러를 반환하는 형식으로 되어있는데, 이러한 방식은 나중에 엄청나게 많은 핸들러가 존재할때는 탐색이 비효율적으로 작동할 것 같은데 혹시 어댑터가 실제로는 구현이 어떤식으로 되어있는건지 궁금해서 여쭙습니다! 또 선형 탐색을 할것이라면 굳이 해쉬맵이 필요하지 않을것 같은데 해쉬맵으로 사용하는 이유가 따로 존재하는지도 궁금합니다.. 좋은 강의 항상 감사합니다!!
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
vector관련 질문입니다
#include "Pch.h" #include <iostream> #include "CorePch.h" #include <thread> using namespace std; void HelloThread_2(int32 num) { cout << num << endl; } int main() { //HelloThread(); vector<std::thread> v; for (int32 i = 0; i < 10; ++i) { v.push_back(std::thread(HelloThread_2, i)); } for (int32 i = 0; i < 10; ++i) { if (v[i].joinable()) v[i].join(); } for (auto& e : v) { cout << e.get_id() << " "; } cout << endl; 다음과 같이 벡터값을 찍어보았는데, push_back을 해줬음에도 불구하고 벡터값이 0 0 0 0 0 0으로 찍혔습니다. 1~10의 값이 push_back되어 있어야 하는 거 아닌가요?
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
getServerSideProps의 context 관련 질문
안녕하세요 현영님! 서버사이드렌더링 준비하기 강의 내용을 실습하면서 getServerSideProps의 인자로 들어가는 context를 콘솔로 찍었을때 다음과 같았는데 context.store를 콘솔에 찍으면 undefined가 나옵니다. 그래서 강의 내용에 나왔던 코드들이 store가 undefined라고 오류가 발생합니다ㅠ context.store.dispatch({ type: LOAD_USER_PENDING }); context.store.dispatch({ type: LOAD_POSTS_PENDING }); context.store.dispatch(END); await context.store.sagaTask.toPromise();
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
Validation return값
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운 안녕하세요 Validation return 값이 궁금해서요 왜 여기서 Object로 리턴하는건가요?
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
개발자 도구 Console 창의 prop , 통신상태 관련 질문
[HMR] Waiting for update signal from WDS... webpackHotDevClient.js:138 src\main\index.js Line 25:11: img elements must have an alt prop, either with meaningful text, or an empty string for decorative images jsx-a11y/alt-text Line 30:11: img elements must have an alt prop, either with meaningful text, or an empty string for decorative images jsx-a11y/alt-text Line 38:19: img elements must have an alt prop, either with meaningful text, or an empty string for decorative images jsx-a11y/alt-text Line 44:21: img elements must have an alt prop, either with meaningful text, or an empty string for decorative images jsx-a11y/alt-text printWarnings @ webpackHotDevClient.js:138 1. 하기 사진과 같이 정상적으로 웹페이지가 나오는데, 개발자 도구 Console 탭에 상기와 같은 prop 알람이 나왔습니다. 찾아보니 img 태그를 사용할 때에는 alt 로 각각 설명을 붙여줘야 없어진다고 해서 붙여주었는데 안붙여도 상관이 없는지 궁금합니다. import React from "react"; import "./index.css"; import axios from "axios"; function MainPage() { const [products, setProducts] = React.useState([]); React.useEffect(function () { axios .get( "https://1e7fd6e6-d017-438e-8e7a-a64513bada80.mock.pstmn.io/products" ) .then(function (result) { const products = result.data.products; setProducts(products); }) .catch(function (error) { console.error("에러 발생: ", error); }); }, []); return ( <div> <div id="header"> <div id="header-area"> <img src="images/icons/logo.png" alt="logo" /> </div> </div> <div id="body"> <div id="banner"> <img src="images/banners/banner1.png" alt="banner" /> </div> <h1>판매되는 상품들</h1> <div id="product-list"> {products.map(function (product, index) { return ( <div className="product-card" key={index}> <div> <img className="product-img" src={product.imageUrl} alt="product" /> </div> <div className="product-contents"> <span className="prodcut-name">{product.name}</span> <span className="product-price">{product.price}원</span> <div className="product-seller"> <img className="product-avatar" src="images/icons/avatar.png" alt="product-avatar" /> <span>{product.seller}</span> </div> </div> </div> ); })} </div> </div> <div id="footer"></div> </div> ); } export default MainPage; 2. 통신상태에 대한 값이 작성한 코드에 따르면 통신 실패에 대한 에러발생 문구만 발생하게 되는데, 통신 성공에 대해서는 작성을 안하는건가요? axios .get( "https://1e7fd6e6-d017-438e-8e7a-a64513bada80.mock.pstmn.io/products" ) .then(function (result) { const products = result.data.products; setProducts(products); }) .catch(function (error) { console.error("에러 발생: ", error); }); }, []);
-
미해결자바 스프링 프레임워크(renew ver.) - 신입 프로그래머를 위한 강좌
처음 시작하며 compiler path 또는 version 관련 에러로 run 안될시
강의 내용대로 maven update와 eclipse - windows - preference - java - compiler 경로를 설치한 버전의 C:\Program Files\Java\jdk1.8.0_301 로 경로 바꿔주면 해결됩니다.
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
픽셀값에 min-max scaling 을 적용하는 이유
안녕하세요 . 스케일링을 피처들의 단위를 동일하게 만들어 주기 위해 사용한다고 알고있습니다. 그러나 픽셀값들은 0~255 사이의 값으로 동일한 단위를 가지며 메모리 또한 int ,float 4바이트로 같다고 알고 있습니다. 그런데 왜 전처리 과정에서 픽셀값에 min max 스케일링을 적용하는지 이해가 잘 되지 않습니다. (0~255의 값에서도 GD 수행시 값이 큰 가중치만 학습하려는 경향이 있어서라고 생각을 해보았지만, 단순 선형회귀에서는 피처가 하나 일 경우 스케일링을 진행하지 않은 점을 보았을때, 잘 이해가 가지 않습니다.) 즐거운 강의 감사합니다 :)
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
nginx
안녕하세요. 프론트와 백에 https 모두 다 적용했는데 https://도메인/_next/static/chunks/~ 와 관련된 여러 요청들이 404 가 뜨는 것을 확인했습니다. 찾아보니 nginx location 에서 try_files 부분을 바꿔야 하는 것 같은데요. 이걸 바꿔도 다른 부분에서 왠지 더 문제가 생길 거 같아 질문드리는데 nginx/https 적용 후에도 http 에서 동작하는 것처럼 똑같이 하게 하려면(다른 페이지로 이동시 404뜨고 js 파일이 안불러와짐) 톰캣같은 다른 기술을 적용해야하는 건가요? 아니면 nginx 설정을 조정하면 해결가능한 건가요?
-
미해결파이널 코딩테스트 : 프론트엔드
파일 공유를 통한 질문이 가능한지 문의드립니다.
안녕하세요 지금 playList 컴포넌트 부분까지 마쳤는데 playlist 버튼을 클릭시 ul태그는 들어가지는데 그 하위의 태그가 들어가지지 않고 있습니다. 오타인가 싶어서 찾아 봤지만 끝내는 못찾고 학습자료에 있는 playlist의 index.js파일의 코드를 복사하여 확인해보니 똑같이 ul태그까지만 들어가집니다. 브라우저의 console창에도 별다른 오류가 뜨지 않아서 원인을 모르겠습니다. 어느부분이 원인인지를 몰라 일부분의 코드보다는 파일을 통해 전체적으로 확인을 받고 싶습니다. 하지만 질문 작성란에 파일 첨부는 안되는 듯 하여 파일 공유를 통한 질문은 어려운지 문의드립니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
JPQL join 이후, Team 프록시 객체
try { Team teamA = new Team(); teamA.setName("TEAM A"); em.persist(teamA); Team teamB = new Team(); teamB.setName("TEAM B"); em.persist(teamB); Member member1 = new Member(); member1.setUsername("member1"); member1.setTeam(teamA); em.persist(member1); Member member2 = new Member(); member2.setUsername("member2"); member2.setTeam(teamA); em.persist(member2); Member member3 = new Member(); member3.setUsername("member3"); member3.setTeam(teamB); em.persist(member3); em.flush(); em.clear(); List<Member> result = em.createQuery("select m from Member AS m join m.team", Member.class) .getResultList(); for (Member member : result) { System.out.println("member = " + member); System.out.println("member.getTeam().getClass() = " + member.getTeam().getClass()); } <아래는 Console 결과입니다> member = Member{id=3, username='member1'} member.getTeam().getClass() = class hellojpa.Team$HibernateProxy$OSndAo5E member = Member{id=4, username='member2'} member.getTeam().getClass() = class hellojpa.Team$HibernateProxy$OSndAo5E member = Member{id=5, username='member3'} member.getTeam().getClass() = class hellojpa.Team$HibernateProxy$OSndAo5E 모두 같은 프록시 객체가 나오는 것 같습니다. member3은 1,2와 다른 팀인데, 왜 같은 프록시 객체가 나오나요?
-
미해결공공데이터로 파이썬 데이터 분석 시작하기
brand_count
선생님! 질문이 있습니다. 위에서 brand_count = df_31["브랜드명"].value_counts() 로 브랜드명의 빈도수를 계산했는데 여기서 brand_count에는 숫자들만 들어가 있는 것인거죠? 그런데 brand_count를 출력해보면 맨 앞에 배스킨라빈스 와 던킨도너츠 가 함께 나와서 헷갈립니다. 이건 그냥 brand_count에 저장된 값은 아닌 건데 같이 출력되는 건가요??
-
미해결유니티(Unity)로 시작하는 게임개발: Part 3. 슈팅게임 개발
수업 소스 코드(스크립트)를 받아 볼 수 없을까요?
영상 편집상의 문제인지 모르겠지만, 정리할때 내용과 실습코드를 넣으실때가 약간 다를 때가 있는것 같습니다. 등등의 여러가지 이유로 선생님의 스크립트 코드와 비교해 보고 싶은데 스크립트 코드는 받아 볼 수 없나요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
URI URL
안녕하세요 강사님 String requestURI = request.getRequestURI(); StringBuffer requestURL = request.getRequestURL(); request에서 URI는 String으로 URL은 StringBuffer로 되어 있는데, 둘다 변하지 않는 값인데 URL은 Buffer로 되어 있는 이유가 있을까요?? requestURI = /front-controller/v1/11 requestURL = http://localhost:8080/front-controller/v1/11
-
미해결유니티(Unity)로 시작하는 게임개발: Part 3. 슈팅게임 개발
MissingReferenceException 에러 문제입니다 ㅜㅜ
행성을 맞추면 아래와 같은 에러가 계속나네요. 지워졌는데, 그걸 다시 참조하려해서 그런다는 메시지것 같은데, 어디서 참조하려고 하는지를 모르겠습니다. 어떻게 해야 할까요? ㅜㅜ MissingReferenceException: The object of type 'GameObject' has been destroyed but you are still trying to access it. Your script should either check if it is null or you should not destroy the object. ObjectPoolManager+ObjectPool.Create () (at Assets/ObjectPoolManager.cs:24) GameManager.Update () (at Assets/02_Scripts/GameManager.cs:68)