:: ai/tensorflow

tensorflow :: 텐서플로우 set_random_seed (v1 -> v2 코드 업그레이드 1)

토람이 2022. 2. 28. 17:58

set_random_seed

tensorflow 에서 variable 객체를 생성할 때 보통 초기값을 랜덤하게 지정하는데,

이 때 random seed 를 주면 항상 같은 랜덤값이 지정된다.

 

그리고 이 경우 사용하는 함수가 set_random_seed 이다. (v1.0)

 

v2.0 으로 넘어오면서 set_random_seed 함수를 사용할 경우 에러가 발생한다.

import tensorflow as tf
tf.set_random_seed(0)

# AttributeError: module 'tensorflow' has no attribute 'set_random_seed'

 

 

1. v2.0 의 random.set_seed 활용

 

v2.0 에서는 다음과 같이 변환하여 사용하면 된다.

tf.random.set_seed(0)

 

 

2. v1.0 의 set_random_seed 그대로 활용

 

또는, 앞선 포스팅에 언급한 것처럼 v2.0 기능을 끄도록 설정하면

set_random_seed 함수를 기존처럼 그대로 사용할 수 있다.

 

import tensorflow.compat.v1 as tf

tf.disable_v2_behavior()

 

상단에 위와 같이 선언해두면 tf.set_random_seed(0) 를 그대로 사용 가능하다.

300x250