Tensorflow:AttributeError:“NoneType”对象没有属性“original_name_scope”

2023-12-24

我正在尝试在谷歌云上的 debian 9.5 拉伸系统上运行一些 python 张量流代码。我正在使用该版本的tensorflow GPU版本(最新版本)并安装了适当的CODA和cuDNN软件。这是我的代码:

     import tensorflow as tf

mnist = tf.keras.datasets.mnist
(x_train, y_train),(x_test, y_test) = mnist.load_data()


x_train = tf.keras.utils.normalize(x_train, axis=1) # scales all values between 0 and 1 on pixel image
x_test = tf.keras.utils.normalize(x_test, axis=1)

model = tf.keras.models.Sequential()
model.add (tf.keras.layers.Flatten()) # flattens the 28x28 pixels into long flat vector
model.add(tf.layers.Dense(128, activation=tf.nn.relu))# builds hidden layer 128 neurons (we can tweak) and activation func - use this as default, sigmoid function
model.add(tf.layers.Dense(128, activation=tf.nn.relu)) # second layer
model.add(tf.layers.Dense(10, activation=tf.nn.softmax)) # output layer - number of output neurons =classes
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics = ['accuracy'])  # adam is least squares test

model.fit(x_train, y_train, epochs=3)
#model.fit(x_train, y_train, epochs=3)

但是,我收到以下错误:


AttributeError Traceback(最近一次调用最后一次)

ipython-input-1-3604b3cbf07d> in <module>
     16 model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics = ['accuracy'])  # adam is least squares test
     17 
---> 18 model.fit(x_train, y_train, epochs=3)
     19 #model.fit(x_train, y_train, epochs=3)
     20 

~/Python-3.6.4/py_36_env/lib/python3.6/site-packages/tensorflow/python/keras/engine/training.py in fit(self, x, y, batch_size, epochs, verbose, callbacks, validation_split, validation_data, shuffle, class_weight, sample_weight, initial_epoch, steps_per_epoch, validation_steps, **kwargs)
   1507         steps_name='steps_per_epoch',
   1508         steps=steps_per_epoch,
-> 1509         validation_split=validation_split)
   1510 
   1511     # Prepare validation data.

~/Python-3.6.4/py_36_env/lib/python3.6/site-packages/tensorflow/python/keras/engine/training.py in _standardize_user_data(self, x, y, sample_weight, class_weight, batch_size, check_steps, steps_name, steps, validation_split)
    991       x, y = next_element
    992     x, y, sample_weights = self._standardize_weights(x, y, sample_weight,
--> 993                                                      class_weight, batch_size)
    994     return x, y, sample_weights
    995 

~/Python-3.6.4/py_36_env/lib/python3.6/site-packages/tensorflow/python/keras/engine/training.py in _standardize_weights(self, x, y, sample_weight, class_weight, batch_size)
   1027       if not self.inputs:
   1028         is_build_called = True
-> 1029         self._set_inputs(x)
   1030 
   1031     if y is not None:

~/Python-3.6.4/py_36_env/lib/python3.6/site-packages/tensorflow/python/training/checkpointable/base.py in _method_wrapper(self, *args, **kwargs)
    424     self._setattr_tracking = False  # pylint: disable=protected-access
    425     try:
--> 426       method(self, *args, **kwargs)
    427     finally:
    428       self._setattr_tracking = previous_value  # pylint: disable=protected-access

~/Python-3.6.4/py_36_env/lib/python3.6/site-packages/tensorflow/python/keras/engine/training.py in _set_inputs(self, inputs, training)
   1220       else:
   1221         input_shape = (None,) + inputs.shape[1:]
-> 1222         self.build(input_shape=input_shape)
   1223     if context.executing_eagerly():
   1224       self._eager_set_inputs(inputs)

~/Python-3.6.4/py_36_env/lib/python3.6/site-packages/tensorflow/python/keras/engine/sequential.py in build(self, input_shape)
    219       for layer in self.layers:
    220         if not layer.built:
--> 221           with ops.name_scope(layer._name_scope()):
    222             layer.build(shape)
    223           layer.built = True

~/Python-3.6.4/py_36_env/lib/python3.6/site-packages/tensorflow/python/layers/base.py in _name_scope(self)
    139   def _name_scope(self):
    140     """Determines op naming for the Layer."""
--> 141     return self._current_scope.original_name_scope
    142 
    143   def _set_scope(self, scope=None):

AttributeError: 'NoneType' object has no attribute 'original_name_scope'

这段代码在我的笔记本电脑上使用 CPU 版本的 Tensorflow 运行良好,但是我在虚拟机上收到此错误。有任何想法吗?


我有类似的问题,解决方案是使用

model.add(tf.keras.layers.Dense(128, activation=tf.nn.relu))

代替

model.add(tf.layers.Dense(128, activation=tf.nn.relu))

保存模型需要 @Josh 的回答。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Tensorflow:AttributeError:“NoneType”对象没有属性“original_name_scope” 的相关文章

随机推荐

  • 带套接字的 TCP 客户端/服务器、服务器向客户端发送文件、客户端挂起、Python

    我想用Python 中的套接字编写一个简单的TCP 服务器 服务器应将图像发送到连接的客户端 客户端应该收到图像 但是 现在客户端只收到图像的一部分 我什至无法打开它 服务器是使用 select 的多客户端 但这不是这里的问题 我认为问题出
  • PHP 命名空间和动态类名

    我在尝试 spl autoload 命名空间和动态类名时遇到了一件 奇怪 的事情 我使用 PHP 5 3 2 像这样调用自动加载 set include path get include path PATH SEPARATOR classe
  • 替代 (?!y) 但在单词之前

    如果我想排除 yapple 为什么我不能使用 my apple y 的替代品是什么before a word http jsfiddle net ksevlyar SbCCx 4 http jsfiddle net ksevelyar Sb
  • 从现有源创建android项目后缺少R类[重复]

    这个问题在这里已经有答案了 我下载了 SpriteMethodTest 的源代码 我想在 Eclipse 中构建它 所以我去了 文件 gt gt 新建 gt gt Android项目 gt gt 从现有源创建项目 gt gt SpriteM
  • Mllib依赖错误

    我正在尝试使用 Mllib 构建一个非常简单的 scala 独立应用程序 但在尝试构建程序时出现以下错误 Object Mllib is not a member of package org apache spark 然后 我意识到我必须
  • 验证参数是序列而不是字符串的 Pythonic 方法

    我有一个函数 它获取数据库表列表作为参数 并返回要在这些表上执行的命令字符串 例如 pg dump file tmp dump sql tables stack overflow port 5434 name europe 应该返回类似 p
  • 我应该在哪里放置可以显示 Flash 消息的 Laravel 4 辅助函数?

    我写了一个简单的display messages 将搜索的函数Session get errors 获取闪存数据并将其回显到屏幕上 我把这个功能放在哪里 在 Codeigniter 中 您有一个 helpers 文件夹 您可以在其中放置所有
  • 如何合并多个不包含在数组中的单独数组? [复制]

    这个问题在这里已经有答案了 如何合并存储在变量中但不包含在数组本身中的多个单独数组 变量 unique answer title包含这些单独的数组 但是 我试图将它们的所有元素组合成一个大的数字数组 当我使用array merge uniq
  • 在 C++ 中删除部分文件的最快方法

    我想知道在 C 中删除部分文件的最快方法是什么 我知道编写第二个文件并跳过你想要的部分的方法 但我认为当你处理大文件时速度很慢 数据库系统怎么样 它们如何如此快速地删除记录 数据库保留索引 元数据列出文件的哪些部分有效 哪些部分无效 要删除
  • 使用 FFT 计算频率时的错误值

    我得到了错误的频率 我不明白为什么我得到了错误的值 因为我已经按照 stackoverflow 后面的指令进行了计算 我用过FFThttp introcs cs princeton edu java 97data FFT java html
  • 将 bool 作为参数传递。 C++

    我想做的是下面的例子 我们首先定义一个布尔值 bool cat false 让我们在这里制作一本假书 bool setcat bool booltoset booltoset true return booltoset 现在让我们用 cat
  • 使用多个节点运行 slurm 脚本,使用 1 个任务启动作业步骤

    我正在尝试使用批处理脚本启动大量作业步骤 不同的步骤可以是完全不同的程序 并且每个步骤都需要一个 CPU 首先我尝试使用 multi prog论证srun 不幸的是 当以这种方式使用分配给我的工作的所有 CPU 时 性能会大幅下降 运行时间
  • 为什么junit中的assertEquals和assertSame对于同一个类的两个实例返回相同的结果?

    根据文件 assertEquals 断言两个对象相等 assertSame 断言两个对象引用同一个对象 所以我期待如果我有像下面这样的课程 class SomeClass then SomeClass someClass1 new Some
  • 如何在 JavaScript 中计算概率密度函数

    Note In 这个问题 https stackoverflow com questions 41224087 d3 js how to add distribution curves to histograms in version 4
  • Angular 和 Elasticsearch 的示例

    我正在寻找 AngularJS 和 Elasticsearch 使用新的官方客户端库协同工作的工作示例 elasticsearch angular js 发现于http www elasticsearch org blog client f
  • 如何区分javafx中表格行的单击或双击

    我正在尝试在 javafx 中创建一个表 允许用户单击一行以转到一页或双击该行以转到另一页 问题在于应用程序注册了单击事件 但没有等待查看是否有另一个双击 有没有办法让程序等待 看看是否有另一次点击 到目前为止我所拥有的看起来类似于 Tab
  • sklearn 和大型数据集

    我有一个 22 GB 的数据集 我想在我的笔记本电脑上处理它 当然我无法将其加载到内存中 我经常使用 sklearn 但数据集要小得多 在这种情况下 经典方法应该是这样的 只读取部分数据 gt 部分训练你的估计器 gt 删除数据 gt 读取
  • boost::asio 读取处理程序类型要求未满足

    我正在尝试将读取标头处理程序实现为成员函数来处理传入数据 然而在编译过程中我被告知不满足类型要求 我检查了 boost 文档 函数签名似乎没问题 我看不出有什么不同 但是 boost 不接受该处理程序有效 cpp 文件 void tcpcl
  • 将 AngularJS 与 MeteorJS 结合使用

    所以我对这两种技术都相当陌生 我的计划是实施他们用 Backbone 制作的 Peepcode Tunes 项目 https github com philipkobernik backbone tunes https github com
  • Tensorflow:AttributeError:“NoneType”对象没有属性“original_name_scope”

    我正在尝试在谷歌云上的 debian 9 5 拉伸系统上运行一些 python 张量流代码 我正在使用该版本的tensorflow GPU版本 最新版本 并安装了适当的CODA和cuDNN软件 这是我的代码 import tensorflo