- TIL Conv1D, Conv2D, Conv3D 차이 말 그대로다. 1차원 배열 데이터에는 Conv1D를, 2차원 배열 데이터에는 Conv2D를 사용한다. 아직까지 Conv3D를 사용해 본 적은 없지만 마찬가지로 3차원 배열 데이터에 사용한다. 즉, Conv1D, Conv2D, Conv3D 차이는 입력 데이터의 차원이다. 그런데 여기서 끝나면 의문이 생긴다. 코드를 보자. model = tf.keras.models.Sequential([ # Note the input shape is the desired size of the image 150x150 with 3 bytes color tf.keras.layers.Conv2D(64, (3,3), activation='relu', input_shape=(150, 150, 3)), tf.keras.layers.M..
- 용어정리 C++ 용어 정리 및 사이트 추천 1년 만에 C++ 프로그래밍을 하면서 까먹었던 개념들을 다시 정리해보았다. 각 용어의 출처는 하이퍼링크를 통해 확인할 수 있고 가장 도움을 많이 받은 곳은 끝나지 않는 프로그래밍 일기와 소년코딩이다. 참고로 예시는 회색, Tip은 파란색으로 표시했다. C++ 용어 정리 iostream Input/Output stream namespace 이름 충돌 문제를 해결하기 위해 도입된 개념으로, 모든 식별자(변수, 함수, 형식 등의 이름)가 고유하도록 보장하는 코드 영역 :: 연산자 범위 지정 연산자로, 어떤 namespace를 가리킬 때 사용하는 연산자 using - using 선언문 using namespace std::cout; - using 지시문 using namespace std; std cin, co..
- TIL sigmoid보다 tanh를 쓰는 이유 1. sigmoid보다 tanh의 기울기가 더 크기 때문이다. 기울기가 더 크면 경사 하강법을 할때 더 큰 step으로 W와 b를 업데이트할 수 있으므로 더 빨리 cost를 0으로 만들 수 있다. cost는 0에 가까울수록 성능이 좋으므로 일반적으로 sigmoid보다 tanh가 성능이 더 좋은 것이다. 2. 기울기 편향을 피할 수 있다. 그래프를 보면 sigmoid는 (0,1)의 범위를 가지고 있고, tanh는 (-1,1)의 범위를 가진다. 모든 입력 벡터가 양수값을 가지고 있을때, 양의 값만을 가지는 sigmoid는 역전파를 할 때 모든 가중치가 같은 방향으로 움직이게 된다. 모두 증가하든지, 모두 감소하든지 말이다. 즉, 이동 방향이 편향될 수 있다는 단점이 있다. 하지만 tanh는 (-1,1) 범위..
- Tensorflow [머신러닝 야학/2기] Tensorflow 이미지 분류 - CNN (python) 수업 정리 Tensorflow 이미지 분류 - CNN (python) 다음은 머신러닝 야학에서 텐서플로우 심화 강의인 을 학습하고 요약정리한 내용입니다. 강의 내용을 기반으로 요약하되, 보충 설명이 필요한 경우 이라는 책과 Stanford 대학의 강의를 참고했습니다. 오리엔테이션 이전 기초 수업에서는 "표" 형태의 데이터를 다뤘다면 이번 심화 수업에서는 "이미지" 형태의 데이터를 다룰 예정입니다. 데이터와 차원 데이터에 대해 차원은 두 가지 의미를 가집니다. • "차원 수"의 의미 - 데이터 공간의 맥락: 변수의 개수 - 데이터 형태의 맥락: 배열의 깊이 이미지 데이터 이해 이미지 데이터를 이해하기 위해 MNIST와 CIFAR10 데이터를 가지고 실습을 진행해봅니다. • MNIST 이미지 데이터 하나의 "차원 수"..
- TIL ValueError: output array is read-only mnist = tf.keras.datasets.fashion_mnist (training_images, training_labels), (test_images, test_labels) = mnist.load_data() training_images /= 255.0 test_images /= 255.0 model = tf.keras.models.Sequential([ tf.keras.layers.Flatten(), tf.keras.layers.Dense(128, activation=tf.nn.relu), tf.keras.layers.Dense(10, activation=tf.nn.softmax) ]) model.compile(optimizer="adam", loss="sparse_categorical_cr..