segmodels-keras 0.1.0.dev3__tar.gz → 0.1.0.dev4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/PKG-INFO +1 -1
- {segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/segmodels_keras/__init__.py +2 -2
- {segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/segmodels_keras/_version.py +1 -1
- {segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/segmodels_keras/backbones/backbones_factory.py +5 -0
- {segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/segmodels_keras/backbones/inception_resnet_v2.py +19 -9
- {segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/segmodels_keras.egg-info/PKG-INFO +1 -1
- {segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/LICENSE +0 -0
- {segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/MANIFEST.in +0 -0
- {segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/README.rst +0 -0
- {segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/pyproject.toml +0 -0
- {segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/segmodels_keras/_compat.py +0 -0
- {segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/segmodels_keras/backbones/__init__.py +0 -0
- {segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/segmodels_keras/backbones/inception_v3.py +0 -0
- {segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/segmodels_keras/base/__init__.py +0 -0
- {segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/segmodels_keras/base/functional.py +0 -0
- {segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/segmodels_keras/base/objects.py +0 -0
- {segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/segmodels_keras/losses.py +0 -0
- {segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/segmodels_keras/metrics.py +0 -0
- {segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/segmodels_keras/models/__init__.py +0 -0
- {segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/segmodels_keras/models/_common_blocks.py +0 -0
- {segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/segmodels_keras/models/_utils.py +0 -0
- {segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/segmodels_keras/models/fpn.py +0 -0
- {segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/segmodels_keras/models/linknet.py +0 -0
- {segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/segmodels_keras/models/pspnet.py +0 -0
- {segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/segmodels_keras/models/unet.py +0 -0
- {segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/segmodels_keras/utils.py +0 -0
- {segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/segmodels_keras.egg-info/SOURCES.txt +0 -0
- {segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/segmodels_keras.egg-info/dependency_links.txt +0 -0
- {segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/segmodels_keras.egg-info/requires.txt +0 -0
- {segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/segmodels_keras.egg-info/top_level.txt +0 -0
- {segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/setup.cfg +0 -0
- {segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/setup.py +0 -0
- {segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/tests/test_backbones.py +0 -0
- {segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/tests/test_metrics.py +0 -0
- {segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/tests/test_models.py +0 -0
- {segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/tests/test_utils.py +0 -0
|
@@ -2,9 +2,9 @@ import functools # noqa: I001
|
|
|
2
2
|
import os
|
|
3
3
|
|
|
4
4
|
# __version__ should be defined as soon as possible
|
|
5
|
-
from
|
|
5
|
+
from ._version import __version__
|
|
6
6
|
|
|
7
|
-
from
|
|
7
|
+
from . import base
|
|
8
8
|
|
|
9
9
|
_KERAS_FRAMEWORK_NAME = "keras"
|
|
10
10
|
_TF_KERAS_FRAMEWORK_NAME = "tf.keras"
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
__versioninfo__ = (0, 1, 0, "
|
|
1
|
+
__versioninfo__ = (0, 1, 0, "dev4")
|
|
2
2
|
__version__ = ".".join(map(str, __versioninfo__))
|
|
@@ -274,5 +274,10 @@ class BackbonesFactory:
|
|
|
274
274
|
def get_preprocessing(self, name):
|
|
275
275
|
return self._models.get(name)[1]
|
|
276
276
|
|
|
277
|
+
def get_custom_objects(self, name):
|
|
278
|
+
if name == "inceptionresnetv2":
|
|
279
|
+
return irv2.get_custom_objects()
|
|
280
|
+
return {}
|
|
281
|
+
|
|
277
282
|
|
|
278
283
|
Backbones = BackbonesFactory()
|
|
@@ -30,8 +30,6 @@ are the following:
|
|
|
30
30
|
https://github.com/ayushdabra/dubai-satellite-imagery-segmentation/blob/9446e16134e752dda080ba9d65be18ea47fa26a9/get_activations.py#L40
|
|
31
31
|
- The keras.applications implementation uses different imports as it is internal in
|
|
32
32
|
keras, and here we need to use the public API of keras.
|
|
33
|
-
- Keep using the Lambda layer instead of CustomScaleLayer to avoid having to pass it in
|
|
34
|
-
with `custom_objects` when loading the model.
|
|
35
33
|
"""
|
|
36
34
|
|
|
37
35
|
import warnings
|
|
@@ -39,7 +37,6 @@ from pathlib import Path
|
|
|
39
37
|
|
|
40
38
|
from keras import backend, layers, models
|
|
41
39
|
from keras.applications import imagenet_utils
|
|
42
|
-
from keras.layers import Layer
|
|
43
40
|
from keras.utils import get_file, get_source_inputs
|
|
44
41
|
|
|
45
42
|
BASE_WEIGHT_URL = (
|
|
@@ -314,6 +311,20 @@ def conv2d_bn(
|
|
|
314
311
|
return x
|
|
315
312
|
|
|
316
313
|
|
|
314
|
+
class CustomScaleLayer(layers.Layer):
|
|
315
|
+
def __init__(self, scale, **kwargs):
|
|
316
|
+
super().__init__(**kwargs)
|
|
317
|
+
self.scale = scale
|
|
318
|
+
|
|
319
|
+
def get_config(self):
|
|
320
|
+
config = super().get_config()
|
|
321
|
+
config.update({"scale": self.scale})
|
|
322
|
+
return config
|
|
323
|
+
|
|
324
|
+
def call(self, inputs):
|
|
325
|
+
return inputs[0] + inputs[1] * self.scale
|
|
326
|
+
|
|
327
|
+
|
|
317
328
|
def inception_resnet_block(x, scale, block_type, block_idx, activation="relu"):
|
|
318
329
|
"""Adds a Inception-ResNet block.
|
|
319
330
|
|
|
@@ -390,12 +401,7 @@ def inception_resnet_block(x, scale, block_type, block_idx, activation="relu"):
|
|
|
390
401
|
name=f"{block_name}_conv",
|
|
391
402
|
)
|
|
392
403
|
|
|
393
|
-
x =
|
|
394
|
-
lambda inputs, scale: inputs[0] + inputs[1] * scale,
|
|
395
|
-
output_shape=x.shape[1:],
|
|
396
|
-
arguments={"scale": scale},
|
|
397
|
-
name=block_name,
|
|
398
|
-
)([x, up])
|
|
404
|
+
x = CustomScaleLayer(scale)([x, up])
|
|
399
405
|
|
|
400
406
|
if activation is not None:
|
|
401
407
|
x = layers.Activation(activation, name=f"{block_name}_ac")(x)
|
|
@@ -434,6 +440,10 @@ def decode_predictions(preds, top=5):
|
|
|
434
440
|
return imagenet_utils.decode_predictions(preds, top=top)
|
|
435
441
|
|
|
436
442
|
|
|
443
|
+
def get_custom_objects():
|
|
444
|
+
return {"CustomScaleLayer": CustomScaleLayer}
|
|
445
|
+
|
|
446
|
+
|
|
437
447
|
def _obtain_input_shape(
|
|
438
448
|
input_shape,
|
|
439
449
|
default_size,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/segmodels_keras/backbones/__init__.py
RENAMED
|
File without changes
|
{segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/segmodels_keras/backbones/inception_v3.py
RENAMED
|
File without changes
|
|
File without changes
|
{segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/segmodels_keras/base/functional.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/segmodels_keras/models/__init__.py
RENAMED
|
File without changes
|
{segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/segmodels_keras/models/_common_blocks.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/segmodels_keras.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/segmodels_keras.egg-info/requires.txt
RENAMED
|
File without changes
|
{segmodels_keras-0.1.0.dev3 → segmodels_keras-0.1.0.dev4}/segmodels_keras.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|