Python中TypeError: __init__() missing 2 required positional arguments

hhu_luqi 2018-02-28 09:16:17
我想运行下GitHub上tensorflow关于Mnist数据集的训练代码,运行在Python 3.5.2的环境下,在Spyder上。
代码文件见于
https://github.com/tensorflow/models/blob/master/official/mnist/mnist.py
运行提示mnist.py中出现TypeError: __init__() missing 2 required positional arguments: 'inputs' and 'outputs'.
求助各位大神问题出在哪?如何更正?

红色箭头所指行即为IPython console提示出错的行。
...全文
7900 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sinat_39619444 2018-05-24
  • 打赏
  • 举报
回复
应该是tensorflow版本的原因, tf 1.6 下API不允许subclassing。GitHub上有人解答https://github.com/tensorflow/models/issues/3755,希望对你有用。
混沌鳄鱼 2018-03-01
  • 打赏
  • 举报
回复
首先说我从来没有用过TF 只是刚才在github上看了一下TF的源码。 Model 是从Network继承来的。 https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/keras/_impl/keras/engine/network.py super(Model, self).__init__() 这里没有给参数 就会调用 self._init_subclassed_network(**kwargs)

class Network(base_layer.Layer):
  """A `Network` is a composition of layers.
  It is the topological form of a "model". A `Model`
  is simply a `Network` with added training routines.
  """

  def __init__(self, *args, **kwargs):  # pylint: disable=super-init-not-called
    # Signature detection
    if (len(args) == 2 or
        len(args) == 1 and 'outputs' in kwargs or
        'inputs' in kwargs and 'outputs' in kwargs):
      # Graph network
      self._init_graph_network(*args, **kwargs)
    else:
      # Subclassed network
      self._init_subclassed_network(**kwargs)
建议楼主先学习python语言基础的东西吧,至少要达到中级以上水平才能开始玩这个。
hhu_luqi 2018-03-01
  • 打赏
  • 举报
回复
谢谢朋友指教,马上回去补习类与继承这块; 调用了self._init_subclassed_network(**kwargs),为什么会报错阿?

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧