使用Tensorflow遇到的奇葩错误

编Tensorflow编了好几个程序了,都是正常运行。
为了记录每一次调参的结果和对应的代码,我的python文件命名为one.py,two.py,three.py等。
直到six.py时,报错了。

    from google.protobuf import descriptor as _descriptor
  File "C:\anaconda\lib\site-packages\google\protobuf\descriptor.py", line 37, in <module>
    import six
  File "C:\Users\weidiao\Desktop\python实验室\人脸识别卷积神经网络\six.py", line 24, in <module>
    x = tf.placeholder(tf.float32, [None, IMAGE_SIZE, IMAGE_SIZE, NUM_CHANNELS], name='x-input')
AttributeError: module 'tensorflow' has no attribute 'placeholder'

我还以为程序运行着把tensorflow玩坏了。
其实是因为protobuf这个包中引用了six.py,而我的six.py把正确的six.py给覆盖了。

看见没,这就是Python使用不规范包名的后果,在Java中写了一堆org、com并不白写,Java中包的定位更精确、更无二义性。再过几十年,Python中的全部包几乎好名字都被占了,那时人们再想给Python写个库的时候就要哭了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值