Измените некоторые значения в файле веса (.h5) VGG-16.

У меня есть значения веса и смещения для каждого слоя модели VGG, сохраненные в виде файла .h5. Я получил файл с: https://github.com/fchollet/deep-learning-models/releases/tag/v0.1

Теперь предположим, что я хочу изменить несколько значений в этом файле. С помощью Как перезаписать массив внутри файла h5 с помощью h5py, я пытаюсь сделать то же самое следующим образом:

import h5py
file_name = "vgg.h5"

f = h5py.File(file_name, 'r+')

# List all groups
print("Keys: %s" % f.keys())

# Get the data
data = (f['block2_conv1']['block2_conv1_W_1:0'])

print(data[0][0][0][0]) #prints some value, lets say X
data[0][0][0][0] = 0 #change it to zero
print(data[0][0][0][0]) #prints the same value X

f.close()

Я получаю одно и то же исходное значение даже после попытки присвоить этому индексу что-то еще.

Я не уверен, как изменить/модифицировать значение веса и сохранить его (в том же файле или, может быть, в другом). Любая помощь или предложения по этому поводу будут высоко оценены. Благодарю вас!


person noobcoder    schedule 14.07.2020    source источник


Ответы (1)


Попробуй это.

data[0,0,0,0]=0

Объекты ndarray должны обновляться таким образом, а не обычным массивом-списком.

person Praveen kumar    schedule 19.07.2020