Загрузка предварительно обученных моделей в цикл for влияет на результаты теста для следующего файла, поскольку предварительно обученные веса не равны нулю после каждого цикла - PullRequest
0 голосов
/ 10 декабря 2018

Я тренирую нейронную сеть, используя керасы, 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.

Заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...