python使用变量需要初始化吗_python – 为什么我需要在TensorFlow中初始化变量?...

让我们看看脚本实际上做了什么:

spike = tf.Variable(False)

此行在计算图中创建符号变量或节点,并使用常量初始值设定项.此时,没有为此变量分配任何内容.最重要的是,它甚至还不知道它将放置在哪个设备(CPU或GPU)上.

下一个,

spike.initializer.run()

此行在默认会话中运行spike初始化程序,您已经开始了.

请注意,首先,尽管代码完全有效,但在实际应用中并不常见.更常见的是,职责分离:模型在一个或多个源文件中定义,并在另一个或多个文件中执行.初始化在逻辑上属于后者,因为只有在会话启动时才会分配内存.

其次,const不是初始化变量的唯一选项.例如,Xavier initializer需要具有整个图形结构来计算输入和输出连接的数量,并推导出它们的标准偏差.如果我们在定义期间尝试初始化变量,它将无法工作.

我希望现在的tensorflow设计变得更加清晰:初始化器是一个专用的操作系统.特别是对于您的用例,tensorflow已经发布了eager mode,这是一个命令式的,逐个运行的界面,其中操作在从Python调用时立即执行.

你可以像这样开始:

import tensorflow.contrib.eager as tfe

tfe.enable_eager_execution()

……就像上面一样,它会让你从样板中解脱出来.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值