if (networkEvents.lNetworkEvents & FD_READ || networkEvents.lNetworkEvents & FD_WRITE) { if (s.recvBytes == 0) } 단순히 에코 서버가 아닐경우 위와같이 조건문을 달면 WRITE가 가능할때 recv하게 되는 버그가 발생할 수 있지않나요?
안녕하십니까 교수님! 좋은 강의 들려주셔서 감사합니다. 강의를 듣고 다양한 데이터를 사용해보고 싶어서 ADE20K라는 데이터 셋으로 MMsegmentation을 적용해보고 있었습니다. 해당 데이터셋은 다양한 카테고리 안에 또 카테고리가 있고 그 안에 이미지와 json파일이 있는데 이럴경우 config.data.train/val 경로를 어떻게 해야할지 궁금합니다! https://github.com/open-mmlab/mmsegmentation/blob/master/mmseg/datasets/ade.py 의 사이트에 보면 CustomDataset을 상속받았고 https://github.com/open-mmlab/mmsegmentation/blob/master/mmseg/datasets/custom.py 해당구조를 따르라고 했습니다. 첨부한 사진처럼 img_dir 에 원본이미지 넣고 ann_dir에 annotation이 담긴 json파일을 넣어 옮겨주면 되는것일까요?? 아니면 coco dataset처럼 여러개의 annotation 정보가 담긴 json 파일을 하나의 json으로 합치는 작업을 해야될까요?? 혹시 다른 방법이 있을까요? 질문 읽어주셔서 감사합니다.
안녕하세요 선생님 데이터셋 중 데이터셋 5M 정도 되는 사이즈의 큰 해상도를 가진 이미지를 분류할 때 가장 좋은 최신기술을 알 수 있을까요? 이미지가 어느 정도 가운데에 위치해 있다면, crop 한 후 resize 한 후 좋은 SOTA 모델에 넣어서 예측하는 것이 가장 좋을까요? 아니면 더 좋은 고해상도 처리 분류 문제가 있을까요?
public void Remove(MyLinkedListNode<T> room) { if(Head == room) { Head = Head.Next; } if(Tail == room) { Tail = Tail.Prev; } if(room.Prev != null) { room.Prev.Next = room.Next; if(room.Next != null) { room.Next.Prev = room.Prev; } Count--; } 저는 여기서 room.Prev != null 부분과 room.Next != null 판별 부분이 왜 필요한지 의문을 가지게 됐습니다! 앞서 Head == room 부분과 Tail ==room 부분에서 이미 예외적인 경우를 체크 했기 때문에 그 외의 경우는 당연히 room.Next와 room.Prev는 null이 아니기 떄문에 굳이 쓸 이유가 없다고 생각했습니다. 그래서 저는 room.Prev.Next = room.Next; room.Next.Prev = room.Prev; 이부분은 무조건 실행 돼야 했다고 생각했습니다. 최종적으로 public void Remove(MyLinkedListNode<T> room) { if(Head == room) { Head = Head.Next; } if(Tail == room) { Tail = Tail.Prev; } room.Prev.Next = room.Next; room.Next.Prev = room.Prev; Count--; } null 판단 부분을 지우고 브레이크 포인트를 잡아서 실행을 했는데 차이가 없었습니다. 혹시 다른 측면에서 문제가 있을까요??
안녕하세요. 해당 강의에서는 TypeQuery, Query와 query.getResultList(), query.getSingleResult()와 같은 내용들을 학습했는데요. 해당 메소드들이 Spring Data Jpa에서 내부적으로 사용되는 것이 맞나요? EntityManager는 그렇다고 알고있는데, 쿼리 메소드들도 그러한지 궁금합니다.
select m from Member as m 이 문장에서 m이 Entity 별칭이잖아요? 해석하면 내가 별칭으로 m이라고 정한 엔터티에서 엔터티 m을 가져와, 라는 뜻인데요. m에서 m을 가져와라는 부분이 이상하진 않으신가요. m안에서 요소 n을 가져와, 라는 말은 말이 되는 것 같은데, m과 m은 같은 것인데 마치 홍길동에서 홍길동을 가져와 같습니다. 엔터티가 만약 관계형 데이터를 맵핑시킹 class라는 뜻이라면, 그것에 준하는 객체 n을 가져와라, 라는 말이 정확할 것 같은데요. 그래서 선생님께서는 이 부분을 읽으실 때 마음속으로 어떻게 뜻을 해석하시는지 궁금합니다.
안녕하세요~ 현재 비전공자로서 클라쪽 취업을 위해 쥬신 학원에 다니고 있습니다. 1년 정규과정이기 때문에 학원 수업에 덧붙여 개인적으로 조금 더 전공자들이 공부한 것들을 배우고 싶어서 [컴퓨터구조, 운영체제, 네트워크, 자료구조와 알고리즘, 리눅스입문, 깃(Git)과 깃허브] 를 공부하려고 하는데요. 혹시 강사님께서 생각하실 때 이 과목만은 꼭 공부해야 한다! 하는 것들이 있나요?
강사님 안녕하세요 올려주신 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()
우선 제가 백엔드와 프론트를 따로 개발하는 중 입니다. 프론트 개발자가 바디에 값을 넣어서 보낼때, 모든 값들이 전부 스트링으로 넣어야 한다고 합니다... 근데 제가 엔티티 작성시, 숫자인지 최대 최소 등의 유효성 검사를 넣어뒀는데, 스트링일시 숫자가 아니라고 판단해서 문제입니다. 유효성 검사에 들어가기전에 가로채서 타입캐스팅을 먼저 해주고 싶은데, 혹시 인터셉터로 가능할까요?