- TensorFlow - 구글 머신러닝 플랫폼
- 1. 텐서 기초 살펴보기
- 2. 간단한 신경망 만들기
- 3. 손실 함수 살펴보기
- 4. 옵티마이저 사용하기
- 5. AND 로직 연산 학습하기
- 6. 뉴런층의 속성 확인하기
- 7. 뉴런층의 출력 확인하기
- 8. MNIST 손글씨 이미지 분류하기
- 9. Fashion MNIST 이미지 분류하기
- 10. 합성곱 신경망 사용하기
- 11. 말과 사람 이미지 분류하기
- 12. 고양이와 개 이미지 분류하기
- 13. 이미지 어그멘테이션의 효과
- 14. 전이 학습 활용하기
- 15. 다중 클래스 분류 문제
- 16. 시냅스 가중치 얻기
- 17. 시냅스 가중치 적용하기
- 18. 모델 시각화하기
- 19. 훈련 과정 시각화하기
- 20. 모델 저장하고 복원하기
- 21. 시계열 데이터 예측하기
- 22. 자연어 처리하기 1
- 23. 자연어 처리하기 2
- 24. 자연어 처리하기 3
- 25. Reference
- tf.cast
- tf.constant_initializer
- tf.constant
- tf.keras.activations.exponential
- tf.keras.activations.linear
- tf.keras.activations.relu
- tf.keras.activations.sigmoid
- tf.keras.activations.softmax
- tf.keras.activations.tanh
- tf.keras.datasets
- tf.keras.layers.Conv2D
- tf.keras.layers.Dense
- tf.keras.layers.Dropout
- tf.keras.layers.Flatten
- tf.keras.layers.GlobalAveragePooling2D
- tf.keras.layers.InputLayer
- tf.keras.layers.Maximum
- tf.keras.layers.Minimum
- tf.keras.layers.ZeroPadding2D
- tf.keras.metrics.Accuracy
- tf.keras.metrics.BinaryAccuracy
- tf.keras.Sequential
- tf.linspace
- tf.ones_initializer
- tf.ones
- tf.random_normal_initializer
- tf.random.normal
- tf.random.set_seed
- tf.random_uniform_initializer
- tf.random.uniform
- tf.range
- tf.rank
- tf.TensorShape
- tf.zeros_initializer
- tf.zeros
- Python Tutorial
- NumPy Tutorial
- Matplotlib Tutorial
- PyQt5 Tutorial
- BeautifulSoup Tutorial
- xlrd/xlwt Tutorial
- Pillow Tutorial
- Googletrans Tutorial
- PyWin32 Tutorial
- PyAutoGUI Tutorial
- Pyperclip Tutorial
- TensorFlow Tutorial
- Tips and Examples
tf.random_normal_initializer¶
tf.random_normal_initializer는 정규 분포를 갖는 텐서를 생성하는 Initializer입니다.
예제1¶
import tensorflow as tf
initializer = tf.random_normal_initializer(mean=1.0, stddev=2.0)
rand_tensor = initializer(shape=[2, 2])
print(rand_tensor)
tf.Tensor(
[[-3.3964305 -2.2236798]
[ 2.0633707 -2.3664834]], shape=(2, 2), dtype=float32)
Initializer를 사용하면 텐서의 형태가 결정되지 않은 상태에서도 텐서를 어떻게 생성할지 결정할 수 있습니다.
미리 지정한 tf.random_normal_initializer를 사용해서 [2, 2] 형태의 텐서를 만들었습니다.
예제2¶
import tensorflow as tf
def make_variables(k, initializer):
return (tf.Variable(initializer(shape=[k], dtype=tf.float32)),
tf.Variable(initializer(shape=[k, k], dtype=tf.float32)))
v1, v2 = make_variables(3, tf.random_normal_initializer(mean=-1.0, stddev=1.5))
print(v1)
print(v2)
<tf.Variable 'Variable:0' shape=(3,) dtype=float32, numpy=array([-3.292683 , 0.3155725, -3.070511 ], dtype=float32)>
<tf.Variable 'Variable:0' shape=(3, 3) dtype=float32, numpy=
array([[ 0.05954874, -2.3188496 , -1.4861779 ],
[-2.2195053 , -2.4441378 , -1.6944317 ],
[ 1.2801654 , -2.9487288 , 0.5278008 ]], dtype=float32)>
make_variables은 텐서의 크기와 Initializer를 입력받아서 tf.Variable 객체를 반환하는 함수입니다.
tf.random_normal_initializer를 사용해서 만들어진 임의의 값을 갖는 두 개의 tf.Variable 객체가 생성되었습니다.
이전글/다음글
이전글 : tf.ones
다음글 : tf.random.normal