Switch to unified view

a b/v3/py2tfjs/fixmodeljson.py
1
import tensorflowjs as tfjs
2
import json
3
4
# After saving keras model with ZeroPadding3D as model.json  Modify with this code:
5
6
7
def fixjson_file(model_file, verbose=False, scube=38):
8
    # Open json file to modify
9
    with open(model_file) as f:
10
        model_dict = json.load(f)
11
12
    # Convert
13
    for layer in model_dict['modelTopology']['model_config']['config']['layers']:
14
        if layer['class_name'] == "ZeroPadding3D":
15
            model_dict['modelTopology']['model_config']['config']['layers'].remove(layer)
16
17
    prev_layer_name = ""
18
    for layer in model_dict['modelTopology']['model_config']['config']['layers']:
19
        if layer['class_name'] == "InputLayer":
20
            layer["config"]["batch_input_shape"] = [None, scube, scube, scube, 1]
21
22
        if layer['class_name'] == "Conv3D":
23
            layer["config"]["padding"] = "same"
24
            layer["config"]["data_format"] = "channels_last"
25
            layer['inbound_nodes'][0][0][0] = prev_layer_name
26
27
        prev_layer_name = layer["config"]["name"]
28
29
    if verbose:
30
        # Verification
31
        for layer in model_dict['modelTopology']['model_config']['config']['layers']:
32
            print(layer)
33
            print("-------------------------------------------------------")
34
35
    # Save model.json file
36
    with open(model_file, 'w') as fp:
37
        json.dump(model_dict, fp)