Jest to prosta rzecz, której po prostu nie umiałem wymyślić.Tensorflow: Jak przypisać zdumiewająco wyćwiczone ciężary do podrozdziałów wykresu?
konwertowane wstępnie przeszkolony VGG caffe model tensorflow używając kodu GitHub z https://github.com/ethereon/caffe-tensorflow i zapisaniu go vgg16.npy ...
I następnie załadować do mojej sieci domyślnej sesji Sesja jako „netto” za pomocą :
images = tf.placeholder(tf.float32, [1, 224, 224, 3])
net = VGGNet_xavier({'data': images, 'label' : 1})
with tf.Session() as sess:
net.load("vgg16.npy", sess)
Po net.load, otrzymuję wykres z listą tensorów. Mogę uzyskać dostęp do poszczególnych tensorów na warstwę za pomocą net.layers ['conv1_1'] ... aby uzyskać wagi i odchylenia dla pierwszej warstwy splotu VGG, itp.
Załóżmy teraz, że wykonuję inny wykres, który ma jako pierwszą warstwę "h_conv1_b":
W_conv1_b = weight_variable([3,3,3,64])
b_conv1_b = bias_variable([64])
h_conv1_b = tf.nn.relu(conv2d(im_batch, W_conv1_b) + b_conv1_b)
Moje pytanie jest - jak można dostać się do przypisania wstępnie przeszkolony ciężarów od net.layers [ 'conv1_1'] do h_conv1_b ?? (Oba są teraz tensory)
Wydaje się, że mówisz, że twoje 'net.load()' już ładuje rzeczy do tensorów TF. Co dokładnie uniemożliwia po prostu zrobienie 'W_conv1_b = net.layers ['conv1_1'] .waga ?, czy coś w tym stylu? –