Я тренирую нейронную сеть, используя керасы, unet.Я хочу загрузить все модели с помощью цикла for и провести их через генератор тестов по отдельности, однако, когда я делаю это, на результаты теста влияют, поскольку предварительно обученные веса не равны 0.
Имееткто-нибудь пробовал это раньше.
Код, который я использую: ..
from model3a import *
from data import *
from matplotlib import pyplot as plt
import numpy
from keras.utils import plot_model
from PIL import Image
from io import BytesIO
def labelVisualize(num_class,color_dict,img):
img = img[:,:,0] if len(img.shape) == 3 else img
img_out = np.zeros(img.shape + (3,))
for i in range(num_class):
img_out[img == i,:] = color_dict[i]
return img_out / 255
for filename in os.listdir('E:/unetTest/crossvalidation/val1/models'):
if filename.endswith("hdf5"):
#print(filename)
file = open(filename,"r")
print(filename)
testGene = testGenerator("data")
model= unet()
#model.pretrained_weights= [0]
#pretrained_weights = None
#model= unet()
#model.pretrained_weights = None
#print(filename)
model.load_weights(filename, "r")
#print(model.pretrained_weights)
results = model.predict_generator(testGene,19,verbose=1)
saveResult("data",results)
#model.pretrained_weights = None
model.load_weights(0)
Где model3a - мой unet, а данные содержат несколько функций, таких как testGenerator.
Заранее спасибо