예제 #1
0
def test_unet():
    data = mnist_data()

    backbone = ResNet()
    # preds = backbone(data.get_test()[0])
    gen = Unet()
    # input_shape = gen.get_input_shape()
    # print(gen.get_output_shape())
    rand_data_shape = (50, 28, 28, 1)
    random_noise_data = np.random.normal(size=rand_data_shape)
    # import pdb; pdb.set_trace()  # breakpoint 7e7a66fc //
    preds = gen.predict(random_noise_data)
    return True
예제 #2
0
    def test_unet_model(self):
        image = Raster \
            .read \
            .format("geotiff") \
            .load(TEST_IMAGE_PATH)

        label: Raster = Raster \
            .read \
            .format("shp") \
            .options(
            pixel=image.pixel,
            extent=image.extent
        ) \
            .load(self.shape_path)

        standarize1 = ImageStand(raster=image)
        standarized = standarize1.standarize_image(StandardScaler())
        raster_data = RasterData(standarized, label)
        unet_images = raster_data.prepare_unet_data(image_size=[64, 64])

        callbacks = [
            EarlyStopping(patience=100, verbose=1),
            ReduceLROnPlateau(factor=0.1, patience=100, min_lr=0, verbose=1),
            ModelCheckpoint('model_more_class_pixels.h5',
                            verbose=1,
                            save_best_only=True,
                            save_weights_only=False)
        ]
        config = UnetConfig(
            input_size=[64, 64, 3],
            metrics=["accuracy"],
            optimizer=SGD(lr=0.001),
            callbacks=callbacks,
            loss="binary_crossentropy",
        )
        #
        unet = Unet(config=config)
        unet.compile()
        unet.fit(unet_images, epochs=1)
        predicted = unet.predict(x=unet_images.x_test[0], threshold=0.4)
        SubPlots().extend(predicted, unet_images.x_test[0]).plot(nrows=1)