当前位置: 首页 > 知识库问答 >
问题:

使用Python实例化TensorFlow模型时出现google.protobuf.text_format.ParseError

洪黎昕
2023-03-14

我在Ubuntu 16.04上。我有:Python 2.7.12,Python 3.5.2,Tenorflow 1.2.0-rc1,原型3.3.0。

我想按照这个教程。

但我认为我的问题可以用这个测试更简洁地证明。py:

import tensorflow as tf
regressor = tf.contrib.learn.LinearRegressor(feature_columns=[])

我无法实例化回归器。我得到(最后完全回溯):

google.protobuf.text_format。ParseError: 48:12:消息类型"tenstorflow.AttrValue"没有名为"5"的字段。

本教程的[21]中也有同样的内容。蟒蛇2和蟒蛇3也是如此。如果我使用LinearClassifier而不是LinearGressor,情况也是如此。

知道我做错了什么吗?

Traceback(最近的调用最后):

文件“test.py”,第2行,在regressor=tf.contrib.learn.LinearRegressor(feature_columns=[])中

文件“/usr/local/lib/python2.7/dist packages/tensorflow/python/util/lazy_loader.py”,第53行,在getattr module=self._load()中

文件“/usr/local/lib/python2.7/dist packages/tensorflow/python/util/lazy_loader.py”,第42行,在_loadmodule=importlib.import_module(self.name)中

文件“/usr/lib/python2.7/importlib/init.py”,第37行,输入模块输入(名称)

文件“/usr/local/lib/python2.7/dist packages/tensorflow/contrib/init.py”,第35行,来自tensorflow.contrib导入映像

文件“/usr/local/lib/python2.7/dist packages/tensorflow/contrib/image/init.py”,第40行,从tensorflow.contrib.image.python.ops.single_image_random_dot_立体图导入single_image_randot_dot_立体图

文件“/usr/local/lib/python2.7/dist packages/tensorflow/contrib/image/python/ops/single_image_random_dot_stereograms.py”,第26行“_single_image_random_dot_stereograms.so”)中)

文件“/usr/local/lib/python2.7/dist packages/tensorflow/contrib/util/loader.py”,第55行,在load\u op\u library ret=load\u library.load\u op\u library(路径)中

文件“/usr/local/lib/python2.7/dist packages/tensorflow/python/framework/load_library.py”,第84行,在load_op_library exec(wrappers,module.dict)中

文件"",第248行,在

文件“”,第114行,在_initopdef库中

文件“/usr/local/lib/python2.7/dist packages/google/protobuf/text\u format.py”,第481行,合并描述符池=描述符池)

文件“/usr/local/lib/python2.7/dist packages/google/protobuf/text_format.py”,MergeLines返回parser.MergeLines(行,消息)中的第535行

文件“/usr/local/lib/python2.7/dist packages/google/protobuf/text_format.py”,第568行,合并行self.\u语法合并(行,消息)

文件“/usr/local/lib/python2.7/dist packages/google/protobuf/text_format.py”,第583行,在_parseormergeself._MergeField中(标记器,消息)

文件“/usr/local/lib/python2.7/dist packages/google/protobuf/text_format.py”,第684行,in_MergeField合并(标记器、消息、字段)

文件“/usr/local/lib/python2.7/dist packages/google/protobuf/text_format.py”,第773行,在合并消息字段self.\u合并字段(标记器,子消息)

文件“/usr/local/lib/python2.7/dist packages/google/protobuf/text_format.py”,第684行,in_MergeField合并(标记器、消息、字段)

文件“/usr/local/lib/python2.7/dist packages/google/protobuf/text_format.py”,第773行,在合并消息字段self.\u合并字段(标记器,子消息)

文件“/usr/local/lib/python2.7/dist packages/google/protobuf/text_format.py”,第684行,in_MergeField合并(标记器、消息、字段)

文件“/usr/local/lib/python2.7/dist packages/google/protobuf/text_format.py”,第773行,在合并消息字段self.\u合并字段(标记器,子消息)

文件"/usr/local/lib/python2.7/dist-包/谷歌/原型/text_format.py",第652行,_MergeField(message_descriptor.full_name,名称))

共有3个答案

范华清
2023-03-14

它的工作解决它的问题:

import _locale
_locale.setlocale(_locale.LC_NUMERIC, 'en_US.UTF-8')

python3.6,freebsd11

南宫嘉
2023-03-14

对我来说,运行export LC\u ALL=C是有效的。

//埃里克

石臻
2023-03-14

将数字区域设置更改为使用句点(.)而不是逗号(,)作为十进制分隔符。

在Google protobuf实现中,使用依赖于语言环境的函数将float转换为FloatToBuffer()中的字符串。

当从插件库中自动提取信息时,这就成为一个问题。

在您的情况下,这是顺序

eye_separation: float = 2.5

在偏移量0xa3b4处,在强调的\u单个图像\u随机点\u立体图中。因此

在被馈送到使用FloatToBuffer()的解析器之后,会出现以下结果:

attr {\n'
  name: "eye_separation"\n'
  type: "float"\n'
  default_value {\n'
    f: 2,5\n'
  }\n'
}\n'

然后标记器(位于google/protobuf/text_format.py)被默认值中的弄糊涂,认为5是一个单独的字段。

GitHub上有一个bug报告,所以希望很快就能得到修复。

 类似资料:
  • 为方便框架的后续升级,thinkcmf与thinkphp框架模型操作方法完全一致。 所以这里是支持thinkphp原生的M方法和D方法来实例化模型; 实例化模型的好处: 可以实现自动完成,自动校验功能。使用模型封装的方法。分离M层和C层; M方法: M(['模型名'],['数据表前缀'],['数据库连接信息']); //实例化模型 $User=M('User'); // 执行具体的数据操作 $Us

  • 本文向大家介绍使用python实现画AR模型时序图,包括了使用python实现画AR模型时序图的使用技巧和注意事项,需要的朋友参考一下 背景: 用python画AR模型的时序图。 结果: 代码: 以上这篇使用python实现画AR模型时序图就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 本文向大家介绍Tensorflow如何用于导出使用Python构建的模型?,包括了Tensorflow如何用于导出使用Python构建的模型?的使用技巧和注意事项,需要的朋友参考一下 Tensorflow是Google提供的一种机器学习框架。它是一个开放源代码框架,与Python结合使用以实现算法,深度学习应用程序等等。它用于研究和生产目的。 它具有优化技术,可帮助快速执行复杂的数学运算。 这是因

  • 上节为您介绍了如何定义模型以及自动与手动关联数据表,本节将为您讲解模型实例化的方法。我们定义好了模型,最终是被其他模块所引用,所以不论控制器还是其他模型,都有可能需要引用某个模型文件。GF中实例化模型类的方法为D函数: $UserModel = D('User.User'); //实例化User分组下的UserModel类

  • 本文向大家介绍Python使用pickle模块实现序列化功能示例,包括了Python使用pickle模块实现序列化功能示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python使用pickle模块实现序列化功能。分享给大家供大家参考,具体如下: Python内置的pickle模块能够将Python对象序列成字节流,也可以把字节流反序列成对象。 如果比较复杂的操作(对象属性更变,添加删

  • 本文向大家介绍python使用cPickle模块序列化实例,包括了python使用cPickle模块序列化实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python使用cPickle模块序列化的方法,分享给大家供大家参考。 具体方法如下: 本文实例测试环境Python2.7.6 运行结果如下: 希望本文所述对大家Python程序设计的学习有所帮助。