# Keras import for tf2

**URL:** https://community.konduit.ai/t/keras-import-for-tf2/1798
**Category:** DL4J
**Created:** [March 10, 2022, 1:41pm UTC](https://community.konduit.ai/t/keras-import-for-tf2/1798 "2022-03-10T13:41:24Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![SidneyLann](https://yyz1.discourse-cdn.com/flex035/user_avatar/community.konduit.ai/sidneylann/32/367_2.png) [@SidneyLann](https://community.konduit.ai/u/SidneyLann)
#### Post date: [March 10, 2022, 1:41pm UTC](https://community.konduit.ai/t/keras-import-for-tf2/1798/1 "2022-03-10T13:41:24Z")

</div>

```
gt_input = _get_test_bidi_cycle_graph(tf.constant(
    # Node states have dimension 4.
    # The first three dimensions one-hot encode the node_id i.
    # The fourth dimension holds a distinct payload value i+1.
    [[1., 0., 0., 1.],
     [0., 1., 0., 2.],
     [0., 0., 1., 3.]]))

conv = gat_v2.GATv2Convolution(
    num_heads=1,
    per_head_channels=4,
    receiver_tag=const.TARGET,
    attention_activation="relu") # Let's keep it simple.

inputs = tf.keras.layers.Input(type_spec=gt_input.spec)
outputs = conv(inputs, edge_set_name="edges")
model = tf.keras.Model(inputs, outputs)
export_dir = os.path.join("/home/sidney", "edge-input-model")
model.save(export_dir)

```

Why above code save the model as pb?  
Can it be saved as h5 and imported as keras model to train?

---

<div class="post-metadata">

### Author: ![mdebeer](https://yyz1.discourse-cdn.com/flex035/user_avatar/community.konduit.ai/mdebeer/32/589_2.png) [@mdebeer](https://community.konduit.ai/u/mdebeer)
#### Post date: [March 14, 2022, 7:45am UTC](https://community.konduit.ai/t/keras-import-for-tf2/1798/2 "2022-03-14T07:45:38Z")

</div>

This is a question for Google. [Here you go.](https://www.tensorflow.org/guide/keras/save_and_serialize#keras_h5_format)

```auto
# Calling `save('my_model.h5')` creates a h5 file `my_model.h5`.
model.save("my_h5_model.h5")

```

---

<div class="post-metadata">

### Author: ![agibsonccc](https://yyz1.discourse-cdn.com/flex035/user_avatar/community.konduit.ai/agibsonccc/32/697_2.png) [@agibsonccc](https://community.konduit.ai/u/agibsonccc)
#### Post date: [March 14, 2022, 8:05am UTC](https://community.konduit.ai/t/keras-import-for-tf2/1798/3 "2022-03-14T08:05:41Z")

</div>

@mdebeer @SidneyLann of note here is there are also some tools we have for staging models for import:

> **[deeplearning4j/contrib/omnihub/src/omnihub/frameworks at master ·...](https://github.com/eclipse/deeplearning4j/tree/master/contrib/omnihub/src/omnihub/frameworks)**
>
> master/contrib/omnihub/src/omnihub/frameworks

Note that keras’s .h5 file format only works with dl4j not samediff. Usually it’s easier to export a pb file rather than an h5 file format now.

---

<div class="post-metadata">

### Author: ![SidneyLann](https://yyz1.discourse-cdn.com/flex035/user_avatar/community.konduit.ai/sidneylann/32/367_2.png) [@SidneyLann](https://community.konduit.ai/u/SidneyLann)
#### Post date: [March 16, 2022, 1:17pm UTC](https://community.konduit.ai/t/keras-import-for-tf2/1798/4 "2022-03-16T13:17:52Z")

</div>

pb file can’t be trained, right?

---

<div class="post-metadata">

### Author: ![agibsonccc](https://yyz1.discourse-cdn.com/flex035/user_avatar/community.konduit.ai/agibsonccc/32/697_2.png) [@agibsonccc](https://community.konduit.ai/u/agibsonccc)
#### Post date: [March 16, 2022, 1:26pm UTC](https://community.konduit.ai/t/keras-import-for-tf2/1798/5 "2022-03-16T13:26:23Z")

</div>

@SidneyLann I don’t see why not, one of your previous github issues was about me fixing an issue related to that on top of that we’ve been training/finetuning PB models for years now. That’s a bit broad don’t you think?

Unless you’re referring to a specific file? Then try to be more specific and say “my specific model here (link) has issues” not “all pb files are broken”. Those are 2 very different conversaations.

---

<div class="post-metadata">

### Author: ![SidneyLann](https://yyz1.discourse-cdn.com/flex035/user_avatar/community.konduit.ai/sidneylann/32/367_2.png) [@SidneyLann](https://community.konduit.ai/u/SidneyLann)
#### Post date: [March 16, 2022, 1:44pm UTC](https://community.konduit.ai/t/keras-import-for-tf2/1798/6 "2022-03-16T13:44:23Z")

</div>

That’s a bert pb file, it’s output is my model’s input, not trainning on it. So I am not sure if tf.keras can be save as pb file and trained?
