Allows to merge two keras.Models
Project description
Keras Merge
Keras Merge allows to merge two Keras model instances without having access to their generating functions.
Release Notes
Version | Comment |
---|---|
v1.1 |
Copying over weights from source models to merged model (active by default, disable using: km.merge(..., copy_weights=False) )
|
v1.0 | Initial Release |
Usage
import keras_merge as km
from keras import Model, Input
import numpy as np
from keras.utils import plot_model
def model(mul: bool) -> Model:
x = Input(shape=(2, 3))
y = Input(shape=(2, 3))
if mul: z = x * y
else: z = x + y
return Model(inputs=[x, y], outputs=z)
A = model(True)
B = model(False)
C = km.merge(A, B, # models
[*A.inputs, B.inputs[0]], # inputs
B.outputs, # outputs
[ # mapping [(src->dst), ...]
(A.outputs[0], B.inputs[1])
]
)
a = np.random.rand(1, 2, 3)
b = np.random.rand(1, 2, 3)
c = np.random.rand(1, 2, 3)
d = A([a, b])
e = B([c, d])
f = C([a, b, c])
print("A+B: ", np.reshape(e, -1))
print("Merged: ", np.reshape(f, -1))
plot_model(A, to_file='A.png')
plot_model(B, to_file='B.png')
plot_model(C, to_file='C.png')
How to build
pip3 install illyrian
illyrian keras_merge.json
pip3 install keras_merge-1.0-py3-none-any.whl
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
File details
Details for the file keras_merge-1.1-py3-none-any.whl
.
File metadata
- Download URL: keras_merge-1.1-py3-none-any.whl
- Upload date:
- Size: 4.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e0cecc46c1f5873ef18ab52337e5a71ca51f631504dd8449b1e886489ce8108 |
|
MD5 | 42d0ad5b98f0c453edfa18b1e8b52d69 |
|
BLAKE2b-256 | b02aa0b3bed68ecb03a60823871ec84d274d83275d7914723a0a5e6fe8a062cd |