首页 > 解决方案 > AttributeError:模块“tensorflow._api.v1.data”没有属性“AUTOTUNE”

问题描述

我是一名大学生。我正在使用 EfficientDet 模型完成我的毕业作业。首先,我使用 Efficientdet 模型来微调我的自定义数据集。

python = 3.7
tensorflow = 2.5
tensorflow-gpu = 1.15
cuda = 11.0

这些是我安装的软件包的版本,

错误信息是

   =====> Starting training, epoch: 1.
WARNING:tensorflow:From /home/ais-public/anaconda3/envs/peace/lib/python3.7/site-packages/tensorflow_core/python/training/training_util.py:236: Variable.initialized_value (from tensorflow.python.ops.variables) is deprecated and will be removed in a future version.
Instructions for updating:
Use Variable.read_value. Variables in 2.X are initialized automatically both in eager and graph (inside tf.defun) contexts.
W0527 01:25:16.531095 140153861850944 deprecation.py:323] From /home/ais-public/anaconda3/envs/peace/lib/python3.7/site-packages/tensorflow_core/python/training/training_util.py:236: Variable.initialized_value (from tensorflow.python.ops.variables) is deprecated and will be removed in a future version.
Instructions for updating:
Use Variable.read_value. Variables in 2.X are initialized automatically both in eager and graph (inside tf.defun) contexts.
Traceback (most recent call last):
  File "main.py", line 407, in <module>
    app.run(main)
  File "/home/ais-public/anaconda3/envs/peace/lib/python3.7/site-packages/absl/app.py", line 303, in run
    _run_main(main, args)
  File "/home/ais-public/anaconda3/envs/peace/lib/python3.7/site-packages/absl/app.py", line 251, in _run_main
    sys.exit(main(argv))
  File "main.py", line 400, in main
    run_train_and_eval(e)
  File "main.py", line 384, in run_train_and_eval
    max_steps=e * FLAGS.num_examples_per_epoch // FLAGS.train_batch_size)
  File "/home/ais-public/anaconda3/envs/peace/lib/python3.7/site-packages/tensorflow_estimator/python/estimator/estimator.py", line 370, in train
    loss = self._train_model(input_fn, hooks, saving_listeners)
  File "/home/ais-public/anaconda3/envs/peace/lib/python3.7/site-packages/tensorflow_estimator/python/estimator/estimator.py", line 1161, in _train_model
    return self._train_model_default(input_fn, hooks, saving_listeners)
  File "/home/ais-public/anaconda3/envs/peace/lib/python3.7/site-packages/tensorflow_estimator/python/estimator/estimator.py", line 1188, in _train_model_default
    input_fn, ModeKeys.TRAIN))
  File "/home/ais-public/anaconda3/envs/peace/lib/python3.7/site-packages/tensorflow_estimator/python/estimator/estimator.py", line 1025, in _get_features_and_labels_from_input_fn
    self._call_input_fn(input_fn, mode))
  File "/home/ais-public/anaconda3/envs/peace/lib/python3.7/site-packages/tensorflow_estimator/python/estimator/estimator.py", line 1116, in _call_input_fn
    return input_fn(**kwargs)
  File "/home/ais-public/ms_ys/Liberty/automl/efficientdet/dataloader.py", line 431, in __call__
    _prefetch_dataset, num_parallel_calls=tf.data.AUTOTUNE)
  File "/home/ais-public/anaconda3/envs/peace/lib/python3.7/site-packages/tensorflow_core/python/util/module_wrapper.py", line 193, in __getattr__
    attr = getattr(self._tfmw_wrapped_module, name)
AttributeError: module 'tensorflow._api.v1.data' has no attribute 'AUTOTUNE'

我找不到“tensorflow/_api/v1/data”文件夹,也不知道为什么会出现这个错误。请告诉我如何解决这个错误。谢谢。

标签: pythontensorflowattributeerror

解决方案


尝试找到这个文件和行:

文件“/home/ais-public/ms_ys/Liberty/automl/efficientdet/dataloader.py”,行 >431,在调用 _prefetch_dataset,num_parallel_calls=tf.data.AUTOTUNE)

并将 tf.data.AUTOTUNE 更改为 tf.data.experimental.AUTOTUNE。你有一个旧的 tensorflow-gpu 版本。据我所知,AUTOTUNE 不再是实验性的。

或者尝试只使用 tensorflow 2.5,以避免版本冲突。


推荐阅读