tensorflow에서 다음 코드를 사용하여 다중 레이어 신경망의 가중치를 초기화하려고합니다.for 루프와 xavier를 사용하여 tensorflow에서 간단한 심 신경 네트워크의 가중치를 초기화하는 방법은 무엇입니까?
def initialize_parameters(layers_dims):
parameters = {}
tf.set_random_seed(1)
L = len(layers_dims)
for l in range(1, L):
parameters['W' + str(l)] = tf.get_variable("parameters['W' + str(l)]", [layers_dims[l],layers_dims[l-1]], initializer = tf.contrib.layers.xavier_initializer(seed = 1))
parameters['b' + str(l)] = tf.get_variable("parameters['b' + str(l)]", [layers_dims[l],1], initializer = tf.zeros_initializer())
return parameters
내가 tf.get.variable
가 parameters['W' + str(l)]
로 변수의 이름을 취할 수 없다는 것을 말한다 오류를 얻고있다
layers_dims = [100,1]
tf.reset_default_graph()
with tf.Session() as sess:
parameters = initialize_parameters(layers_dims)
나는이 함수를 호출하고있는 방법입니다. 대신 W1
또는 b1
과 같은 이름을 사용하면 올바르게 작동합니다.
내 목표는 "L"레이어 신경망을 초기화하고 매개 변수를 사전에 매개 변수로 저장하는 것입니다.
주위에 경로가 있습니까?