12.3 사용자 정의 모델과 훈련 알고리즘 - (1)
Prerequisite from sklearn.datasets import fetch_california_housing from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler housing = fetch_california_housing() X_train_full, X_test, y_train_full, y_test = train_test_split(housing.data, housing.target.reshape(-1, 1), random_state=42) X_train, X_valid, y_train, y_valid = train_test_split(X_train_full, ..
2022. 3. 26.
12.2 넘파이처럼 텐서플로 사용하기
기본적으로 텐서플로는 텐서(tensor)를 사용한다. 텐서는 차원에 따라 스칼라 혹은 배열이 될 수 있다. 그리고, 텐서는 넘파이 배열(ndarray)과 유사하기 때문에 넘파이 패키지가 익숙하면 좋다. 텐서의 생성 텐서를 생성하기 위해 tf.constant() 함수에 텐서로 만들기 원하는 값을 인자로 전달하면 된다. import tensorflow as tf tf.constant([1, 2, 3]) >>> # 다차원 배열 tf.constant([[1, 2, 3], [4, 5, 6]]) >>> # 데이터 타입 명시 tf.constant([1, 2, 3, 4, 5, 6], dtype=tf.float32) >>> 텐서의 인덱싱 텐서는 넘파이 배열 혹은 파이썬의 리스트처럼 대괄호를 통해 인덱스 참조가 가능하다...
2022. 3. 21.
# 1. tf.keras.backend.permute_dimensions
a = np.arange(12).reshape((3, 4)) t = tf.constant(a) t >>> tf.Tensor( [[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]], shape=(3, 4), dtype=int32) 위와 같은 (3, 4) dimension을 갖는 텐서가 있다. axis=0은 3개의 원소, axis=1은 4개의 원소가 존재한다. 이 텐서를 전치시키려고 한다면 다음과 같이 할 수 있다. tf.keras.backend.permute_dimensions(t, pattern=(1, 0)) >>> 여기서 중요한 인자는 pattern인데, (1, 0)의 의미는 텐서 t를 (axis=1의 값, axis=0의 값)차원으로 재구성한다는 의미이다. 즉, (4, 3) 차원으로 변형되..
2022. 3. 17.