2016-10-28 2 views
1

은 가이드를 따라 다른 사람들과 마찬가지로 TensorFlow 워크 플로우 (https://blog.keras.io/keras-as-a-simplified-interface-to-tensorflow-tutorial.html)와 통합하면 이 모델을 빌드하지 않기 때문에 가중치 변수에 액세스 할 수 없습니다. 안내서. 우리는 단순히 레이어를 사용하고 있습니다. TensorFlow에 대한 단순화 된 인터페이스로 사용할 때 컴파일 할 필요가 없습니다. 그러면 우리는 어떻게 가중치 (변수)에 액세스합니까?Keras의 레이어 변수 액세스

Model 또는 Compile를 호출하지만 단지 구축하기 위해 레이어를 사용하지 우리가 가이드처럼 TensorFlow와 함께 사용하는 경우, 우리가 때문입니다.

+0

당신이 얻을 싶은 당신은 어디에 코드를 추가 할 수 변수들? –

답변

0

하면 모델은 다음과 같이 정의 된 부분에 대해 얘기하는 경우 : 그럼 당신은 맞다

x = Dense(128, activation='relu')(img) 
x = Dense(128, activation='relu')(x) 
preds = Dense(10, activation='softmax')(x) # output layer with 10 units and a softmax activation 

, 당신은 변수에 액세스 할 수 있지만, 우리는 (레이어 이름을 지정하지 않기 때문에 그것은이다 우리는 단지 텐서 x을 추적하고 있습니다). 당신이 유사한 표기법을 사용하는 동안, 변수에 액세스하려면

이 같은 뭔가를해야 할 것 :

l1 = Dense(128, activation='relu') 
l2 = Dense(128, activation='relu') 
out = Dense(10, activation='softmax') 
preds = out(l2(l1(img))) 

가 그런 다음의 변수에 액세스 할 수 l1.weights으로 l1을 말한다. Sequential 사용을 사용할 때 변수에 액세스하는 방법에 관심이 있다면


:. i 당신이에 관심이있는 레이어의 인덱스 model.layers[i].weights