22

I trained a simple mnist model with tensorflow 2.0 on Google Colab and saved it in the .json format. Click here to check out the Colab Notebook where I've written the code. Then on running the command

!simple_tensorflow_serving --model_base_path="/" --model_platform="tensorflow"

It is showing the error AttributeError: module 'tensorflow' has no attribute 'gfile'

simple_tensorflow_serving helps in easily deploying trained tensorflow model into production.

Versions I'm using:

(1) TensorFlow - 2.0

(2) simple_tensorflow_serving - 0.6.4

Thank you in advance :)

TheSHETTY-Paradise
  • 1,024
  • 2
  • 9
  • 19

5 Answers5

43

In 2.0, tf.gfile.* is replaced by tf.io.gfile.*.

when I get error:

  File "/Users/MRJ/anaconda3/envs/python37-tf2.1/lib/python3.7/
site-packages/object_detection/utils/label_map_util.py",
line 137, in load_labelmap

with tf.gfile.GFile(path, 'r') as fid:
  AttributeError: module 'tensorflow' has no attribute 'gfile'

1.Find label_map_util.py line 137.

2.Replace tf.gfile.GFile to tf.io.gfile.GFile

It's worked for me.

tensorflow issue #31315

JiangKui
  • 1,207
  • 1
  • 11
  • 17
25

Simple Tensorflow Serving is not ready for Tensorflow 2.0, since it is using the old API. In Tensorflow 2.0 the gfile package has been moved into tf.io.

Then, you have to downgrade your Tensorflow instance to TF 1.13 use Simple Tensorflow Serving

nessuno
  • 26,493
  • 5
  • 83
  • 74
4

Instead, try

tf.io.gfile.GFile(
    name, mode='r'
)

i.e ".io" will solve your all problems instead of downgrading your tf

Suraj Rao
  • 29,388
  • 11
  • 94
  • 103
Animesh Nayak
  • 97
  • 1
  • 2
0

change tf.gfile.GFile to tf.io.gfile.GFile.

it works for this instance but not for all other files

example tf.io.gfile.FastGFile throws an error saying

AttributeError: module 'tensorflow._api.v2.io.gfile' has no attribute 'FastGFile'
desertnaut
  • 57,590
  • 26
  • 140
  • 166
Anachaba
  • 76
  • 4
  • Your answer could be improved with additional supporting information. Please [edit] to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers [in the help center](/help/how-to-answer). – no ai please Nov 21 '21 at 00:57
0

This is deprecated in TensorFlow 2.0. You can use older tensorflow version to use this api like 1.13.1

In my older project I needed this api Created a virtual environment in ananconda with this version like:

conda create -n tf python=3.7 tensorflow=1.13.1 
// here more modules with specific version can be added

conda activate tf // to activate environment tf

(base) D:\ff\testM>  --> (tf) D:\ff\testM> 
// After this environment changed to (base) --> (tf)