TensorFlow源码分析(3):ConstantOp 类的Compute函数

本文深入探讨TensorFlow中ConstantOp类的Compute函数,该函数主要将ConstantOp的输出设置为其成员变量tensor_的值。在ConstantOp的计算过程中,输出是一个Tensor类型变量,这是TensorFlow操作输入输出的基础。ConstantOp作为无输入的操作,在计算图中以节点形式存在,输入输出在图边流动,体现TensorFlow的图计算本质。
摘要由CSDN通过智能技术生成

文章(2)中分析了ConstantOp类的构造函数。本文介绍Compute函数。ConstantOp类的Compute函数,可以说是非常简单,因为构造函数已经几乎将所有的工作都完成了。Compute函数的定义在tensorflow/core/kernels/constant_op.cc文件中。

void ConstantOp::Compute(OpKernelContext* ctx) {
  ctx->set_output(0, tensor_);
  if (TF_PREDICT_FALSE(ctx->track_allocations())) {
    ctx->record_persistent_memory_allocation(tensor_.AllocatedBytes());
  }
}

上面代码的主要逻辑是第2行,它的作用是将ConstantOp对象的第0个输出设置为tensor_成员变量的值。在文章(1)中,我们已经说过,ConstantOp对象只有一个输出。而通过文章(2)的介绍,我们知道,这个输出是一个Tensor类型的变量。事实上,TensorFlow的任何操作的输入和输出都是Tensor类型的变量。当然,有的操作除了输入输出之外,还有一些非Tensor类型的变量作为参数。但是,这些非Tensor类型的变量,只

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值