如何修复tensorflow对象检测示例上的version.py产生的错误



我正在使用anaconda与TensorFlow一起工作,我认为我完成了所有安装供对象检测。

您可以在此处查看IPYNB文件

和获得错误的单元格是第一个代码单元格。

import numpy as np
import os
import six.moves.urllib as urllib
import sys
import tarfile
import tensorflow as tf
import zipfile
from distutils.version import StrictVersion
from collections import defaultdict
from io import StringIO
from matplotlib import pyplot as plt
from PIL import Image
# This is needed since the notebook is stored in the object_detection folder.
sys.path.append("..")
from object_detection.utils import ops as utils_ops
if StrictVersion(tf.__version__) < StrictVersion('1.9.0'):
  raise ImportError('Please upgrade your TensorFlow installation to v1.9.* or later!')

尝试运行名为" Object_detection_tutorial.ipynb"的示例时,我会收到以下错误。可能导致错误?

ValueError                                Traceback (most recent call last)
<ipython-input-1-1e9eee4e6961> in <module>
     17 from object_detection.utils import ops as utils_ops
     18 
---> 19 if StrictVersion(tf.__version__) < StrictVersion('1.9.0'):
     20   raise ImportError('Please upgrade your TensorFlow installation to v1.9.* or later!')
~/anaconda3/envs/tensorflow_cpu/lib/python3.7/distutils/version.py in __init__(self, vstring)
     38     def __init__ (self, vstring=None):
     39         if vstring:
---> 40             self.parse(vstring)
     41 
     42     def __repr__ (self):
~/anaconda3/envs/tensorflow_cpu/lib/python3.7/distutils/version.py in parse(self, vstring)
    135         match = self.version_re.match(vstring)
    136         if not match:
--> 137             raise ValueError("invalid version number '%s'" % vstring)
    138 
    139         (major, minor, patch, prerelease, prerelease_num) = 
ValueError: invalid version number '1.13.0-rc1'

看来您的TensorFlow是预释放版本,version.py无法识别。因此,降级到Tensorflow 1.12.0应该解决您的问题。

参考:TensorFlow版本。

对我评论

if StrictVersion(tf.__version__) < StrictVersion('1.9.0'):
    raise ImportError('Please upgrade your TensorFlow installation to v1.9.* 
    or later!')

工作正常。整个笔记本运行。

最新更新