월 22,000원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
텐서 사이즈에 관해 질문 드립니다
안녕하세요 선생님. 강의 듣던 도중 텐서 사이즈에 대해 궁금한 점이 있어서 질문드립니다. 가장 먼저 인풋으로 들어오는 이미지가 (224, 224, 3)이고 이게 con1을 거쳐서 (112, 112, 64)가 되고, maxpooling을 거쳐 (56, 56, 64)가 된다고 이해했는데 여기서 feature map의 개수를 보면 3개 , 64개, 64개로 한번도 256개가 되는 순간이 없는 것 같은데, 이게 어떻게 residual connection으로 (56, 56, 256)과 add가 되는지 모르겠습니다.
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
3x3 max pooling을 진행하면 Feature Map 크기가 줄어들지 않나요?
GoogleNet(Inception) 강의를 듣다가 궁금한 점이 있어 질문드립니다. Concatenate을 위해 Inception Module 내에서 출력되는 Feature Map의 크기가 전부 같아야 한다고 하셨습니다. 2x2 Max pooling은 output Feature Map 크기를 반으로 줄여주는 역할을 하는 것으로 알고 있습니다. 3x3 max pooling을 진행하면 Feature Map 크기가 줄어들어서 문제가 생기지 않나요? Model.summary()를 보면 문제가 없는데, 제가 생각하기에는 3x3 Max pooling 시에 Feature Map 크기가 줄어들어야 하는 것 같아서 질문드립니다.
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
어드벤스드 강의는 언제 나오나요?...
완강했습니다 ㅎㅎㅎ 멋진 강의 감사합니다. 어드벤스드 강의는 언제 나오나요..? 완강한지 5분도 안됬는데 기다리느라 벌써 현기증이 나네요...
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
save_freq 오류가 발생합니다.
안녕하세요 선생님. 수업내용대로 period를 사용하다가 아래와 같은 경고 문구가 나와서 save_freq를 사용했습니다. tensorflow:`period` argument is deprecated. Please use `save_freq` to specify the frequency in number of batches seen. save_freq='epoch'를 사용하면 문제가 없지만, 숫자를 입력하여 사용하면 아래와 같은 에러가 게속 발생하고 있습니다. KeyError: 'Failed to format this callback filepath: "/content/weights.{epoch:03d}-{val_loss:.2f}.h5". Reason: \'val_loss\'' 저는 kaggle이 아니라 colab에서 사용했습니다. 아래는 실행했던 코드입니다. from tensorflow.keras.callbacks import ModelCheckpoint from tensorflow.keras.optimizers import Adam model = create_model() model.compile(optimizer=Adam(learning_rate=0.001), loss='categorical_crossentropy', metrics=['accuracy']) mcp_cb = ModelCheckpoint(filepath='/content/weights.{epoch:02d}-{val_loss:.2f}.h5', monitor='val_loss', save_best_only=True, save_weights_only=True, mode='min', save_freq=3, verbose=1) history = model.fit(x=tr_images, y=tr_oh_labels, batch_size=128, epochs=10, validation_data=(val_images, val_oh_labels), callbacks=[mcp_cb])
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
facebookresearch / semi-supervised-ImageNet1K-models에 대해서 정확한 느낌을 알고 싶습니다
안녕하세요. 오픈소스를 보면, 다양한 backbone을 볼 수 있는데, https://github.com/facebookresearch/semi-supervised-ImageNet1K-models 에서의 SSL, SWSL 모델을 많이 사용하는데, 대략적으로 ImageNet외에 unlabeled 데이터를 가져와서 top-k label로 학습한 후 다시 ImageNet으로 튜닝하는 것은 알겠는데, 1. 정확히 SSL, SWSL을 구분하는 조건이 무엇인지 궁금합니다. SWSL은 엄청난 개수의 정제되지 않는 unlabeled 이미지로 학습한다는 차이가 있는 것인가요? 반해 SSL은 그래도 정제된 unlabeled를 취급하는 것인가요? 2. 그리고 모델에 보면 32x4d라고 되어 있는데, 이게 skip connection쪽 bottleneck과 관련된 것인가요? 헷갈리는 것이 많네요
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
ResNet과 1x1 conv 레이어에 대해서 질문이 있습니다
안녕하세요. ResNet을 계속 보니, 이해가 되네요 그런데 inception과 resnet에서 사용하는1x1 conv는 PCA와 같은 차원축소 개념 같은데, 가중치 갯수가 줄어들기 때문에 아무래도 정보 손실은 포함하고 있다고 볼 수 있는거죠?
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
선생님 param 계산되는 과정에서 질문이 있습니다.
안녕하세요 선생님, param 계산되는 과정에서 질문이 있습니다. 첫번째 param인 2432는 왜 2432가 나오는지 알겠는데 두번째 param인 9248은 어떻게 9248이 나오는지 잘 모르겠습니다 ㅠㅠㅠ 2432 + (?) = 9248이 되는거 같은데.... (?)는 3*3(kernel_size) * 3(channel)*32(filters) * ? 인거같은데... 제가 직접 계산해보면 9248이 안나옵니다 ㅠㅠㅠ 2432 + (?) = 9248 여기서 ?가 뭔지 알 수 있을까요? 감사합니다!!
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
안녕하세요, fashion mnist 데이터셋이 다운이 안됩니다.
안녕하세요, fashion mnist 데이터셋이 다운이 안됩니다. 제 생각에는 캐글 커널에서 인터넷을 켜야되는거같은데.... 강의 초반부에서 커널 오른쪽에 보면 GPU와 인터넷을 키고 끌수있는 토글 버튼이 있었습니다. 근데 커널 UI가 바뀐건지 아무리 찾아봐도 안보이네요 ㅠㅠ Language Python Environment Preferences 이 두 메뉴밖에 없습니다. 혹시 어디있는지 알 수 있을까요.. 감사합니다.
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
Numpy와 Pandas 강의자료
안녕하세요 권철민 강사님. 본 강의를 수강하기 위해서는 Numpy와 Pandas에 관한 기초 지식이 필요하다고 하셔서 오리엔테이션 강의 때 말씀하신 강사님의 파이썬 머신러닝 완벽가이드에서 Numpy와 Pandas 관련 내용만 들으려고 합니다. 감사하게도 미리보기가 가능해 이 부분만 듣고 본 강의를 수강하려 하는데 혹시 파이썬 머신러닝 완벽가이드의 Numpy와 Pandas 관련 부분의 강의자료만 받을 수 있을까요? 부탁드려봅니다. 감사합니다!
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
초기에 큰 LR 의 적용할시 오버피팅 문제
안녕하세요 선생님 초기에 LR을 크게 할 때 왜 overfitting인지 잘 이해가 가지 않습니다. 초기에 큰 LR을 적용할시 Weight의 급격한 변화로 지역 최적해에 빠져 과적합 가능성이 있다고 언급하십니다. (2:00~3:35쯤 설명) 그런데, 제 생각에는 지역최적해에 빠져 나오지 못 하는 경우, 충분한 학습을 하지 못하고 수렴 한 것이라 overfitting 보다는 under fitting이라고 생각되는데, 왜 overfitting인지 잘 모르겠습니다 . 항상 즐거운 강의 감사합니다 :)
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
선생님 고해상도 이미지 분류 전처리 및 딥러닝 방법에 대해서 질문이 있습니다!
안녕하세요 선생님 데이터셋 중 데이터셋 5M 정도 되는 사이즈의 큰 해상도를 가진 이미지를 분류할 때 가장 좋은 최신기술을 알 수 있을까요? 이미지가 어느 정도 가운데에 위치해 있다면, crop 한 후 resize 한 후 좋은 SOTA 모델에 넣어서 예측하는 것이 가장 좋을까요? 아니면 더 좋은 고해상도 처리 분류 문제가 있을까요?
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
픽셀값에 min-max scaling 을 적용하는 이유
안녕하세요 . 스케일링을 피처들의 단위를 동일하게 만들어 주기 위해 사용한다고 알고있습니다. 그러나 픽셀값들은 0~255 사이의 값으로 동일한 단위를 가지며 메모리 또한 int ,float 4바이트로 같다고 알고 있습니다. 그런데 왜 전처리 과정에서 픽셀값에 min max 스케일링을 적용하는지 이해가 잘 되지 않습니다. (0~255의 값에서도 GD 수행시 값이 큰 가중치만 학습하려는 경향이 있어서라고 생각을 해보았지만, 단순 선형회귀에서는 피처가 하나 일 경우 스케일링을 진행하지 않은 점을 보았을때, 잘 이해가 가지 않습니다.) 즐거운 강의 감사합니다 :)
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
캐스팅 오류 질문드립니다.
안녕하세요. cnn 코드 작성중에 오류가 발생하는데 도저히 해결을 할 수가 없어서 글 남깁니다... 원래 동일 코드로 잘 작동하던 모델을 다시 트레이닝 시키려고 하는데 해당 오류가 발생하고, 이유를 알 수가 없습니다.. 잘 작동했었던 것에서 오류가 발생해서.. 매우 당황스럽네요.. 구글링 결과로는 label에 string타입이 끼어있는것 같은데 for문으로 하나씩 데이터타입을 확인해봤는데 전부 int타입입니다.. (df자체를 확인한거라서 train, test는 df에서 쪼개집니다..) cnn모델은 sparse categorical을 사용해서 원핫인코딩이 아닌 0,1,2,3... 과 같은 정수타입의 classification 정답이 labeling된 상태입니다. 해당 에러 코드는 다음과 같습니다.. Cast string to float is not supported [[node Cast (defined at <ipython-input-51-4dfcf5575766>:48) ]] [Op:__inference_train_function_190019] Function call stack: train_function
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
eager execution에 대해서 질문이 있습니다
안녕하세요. 혹시 텐서플로우 정확히 몇 버전부터 기본적으로 eager_execution 적용이 된 것인가요? 추가로 2.4.1을 쓰고 있는데, Input Layer를 eager_execution=True 환경에서 numpy로 바꾸는 방법이 있나 궁급합니다!
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
Evaluate 관련하여 궁금한 점이 있습니다!
안녕하세요, 선생님! 좋은 강의 항상 감사드립니다. 다름이 아니라, 제가 현재 훈련시킨 xception 모델로 다른 test 이미지를 분류해보고자 하고 있습니다. 강의에서는 이미 label이 있는 이미지들에 대하여 test/evaluate를 진행하고 있는데, 혹시 label이 없는 이미지들에 대하여 test를 해보고자 한다면, 어떻게 해야 하는지 관련 링크 같은 것이 있을까요? 텐서플로우 사이트나 스택오버플로우 찾아봐도 딱 명료하게 관련 내용을 찾을 수 없어서 문의드립니다. 감사합니다! :)
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
케라스 미니 배치 경사하강법 수행속도
안녕하세요 권철민 선생님. 좋은 강의 감사드립니다. 질문은 케라스 미니 배치 경사하강법 왜 더 빠른지 이해가 잘 되지 않습니다. 예를들어 전체데이터가 500개 있다고 가정합니다. 반복수 : 10, 배치사이즈 : 50 이라면 0~49 , 50~100 ,...,450~500 으로 10번 수행하며, 즉 모든 데이터에 대해 알고리즘을 수행한다고 생각했습니다. GD와 비교했을때 GD도 마찬가지로 데이터를 나누지 않았을 뿐 500개로 10번 수행하므로 두 가지 방법의 속도는 차이가 나지 않아야 된다고 생각했는데 , 케라스 미니 배치가 왜 더 빠른지 이해가 잘 되지 않습니다.
- 해결됨딥러닝 CNN 완벽 가이드 - Fundamental 편
안녕하세요 교수님 이미지 제너레이터 관련 질문드립니다.
이전 강의들에서는 이미지를 증강 할 때, data_generator.fit(image_batch) data_gen_iter = data_generator.flow(image_batch) aug_image_batch = next(data_gen_iter) 제너레이터에 fit을 하고 flow으로 이터레이터를 생성하고 next로 조금 씩가져오는 것으로 이해하였습니다. 하지만 이번 강의에서는 왜 제너레이터에 fit과 next를 하지 않으시는지 궁금합니다... 또한 제너레이터가 이미지를 생성하는 것이 아니라 flow를 만들어 주고, next로 랜덤하게 적용해서 가져와 주는 것으로 이해하는 것이 맞는지요..? 감사합니다.
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
선생님 공부하다가 조금 헷갈려서 질문드립니다.
선생님 기존 프로그래밍과 머신러닝의 차이가 기존 프로그래밍은 기존의 알고리즘 수식이나 통계분석 모델을 그대로 사용하여 결과를 산출한다면, 머신러닝은 다양하고 많은 데이터를 통해 알고리즘을 학습시켜서 최적화된 모델을 통한 결과가 산출이라고 한다면.. 회귀분석모델에서 조금 헷갈리는 것이.. 기존의 통계분석의 회귀분석은 머신러닝같은 개념이었던 건지.. 기존의 통계분석인 회귀분석의 회귀계수들도 데이터에 따라 바뀌었는데.. 1:57 의 그림에서 최적의 함수를 찾는다는 부분에서 기존 통계분석의 회귀분석을 생각할 때 갑자기 헷갈려서요..ㅠ
- 해결됨딥러닝 CNN 완벽 가이드 - Fundamental 편
신경망이 깊어질수록 필터의 개수가 많아지는 이유가 있나요?
안녕하세요, 수업 잘 듣고있습니다! Conv2D의 필터 사이즈가 32, 64, 128 로 점점 커지는데, 점점 필터 사이즈가 커지는 이유가 있나요? 제 예상으로는 * 사실 32, 32, 32도 상관없지만 관례상 필터 사이즈가 커질수록 성능이 좋기 때문 => 이것도 커널 사이즈를 (3, 3) 으로 하냐 (5, 5)로 하냐의 실험적인 문제와 동일하다 또는, * 신경망이 깊어질수록 이미지의 추상적인 특징이 증가하기 때문에 이것을 담을 그릇이 커져야 한다. 이긴 합니다 또, 이것은 별개의 질문인데 너무 헷갈려서요.. 필요한 파라미터의 개수는 kernelSize * kernerSize * filters * channel 라고 하셨는데, INPUT ( None, 28, 28, 3) 이고 Conv2d (filters=32, kernel_size =(3, 3)) 이라면 파라미터 개수는 3 * 3 * 32 * 3 이+ 32 가 될것입니다! 근데 여기서 제 생각으로는, 인풋 채널이 3개긴 하지만, 인풋 채널 3개와 각각의 커널이 합성곱 되어서 나온 결과도 3개이고, 이 결과 3개를 더해서 하나의 행렬로 만들고, 각각의 결과는 모두 같은 필터와 곱해져서 나왔기 때문에 인풋 채널에 영향을 받는다는 내용이 머릿속으로 잘 이해가 안됩니다 ㅠㅠ 이부분도 도와주세요
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
채널 지정 오류와 관련하여 질문 드리고 싶습니다.
현재 VGG 모델 학습 중입니다. 이전 AlexNet까지는 정상적으로 (h w c) 순으로 모델이 만들어졌는데, VGG 모델부터는 갑자기 (c h w) 순으로 입력이 되고 있습니다. 그러다보니, 실습코드대로 작업을 하면 계속 제일 앞에 있는 차원을 channel로 인식하게 되어 차원이 맞지 않아 모델이 정상적으로 만들어지지 않습니다. (지금까지 모두 동일한 가상환경에서 작업하고 있었고, 업데이트 등을 한 적이 없습니다.) 혹시 몰라 이전에 작업한 AlexNet, CIFAR10 등의 파일들도 다시 실행해보니 모두 동일한 현상을 보였으며, CIFAR10의 경우에는 처음 dataset을 불러올 때 역시 (c h w) 순으로 불러오는 것을 확인하였습니다. 강제로 data_format을 channels_last로 설정할 수는 있지만, pretrained model의 경우 Conv2D, MaxPooling 등을 제 마음대로 변경할 수 없어서 현재 학습에 어려움을 겪고 있는 상황입니다. 혹시 코드 내부에서, 혹은 conda에 추가적으로 설치해서 강제로 마지막 차원을 channel로 인식하도록 하는 방법이 있는지 알고 싶습니다. 감사합니다.