Tensor类中包含了两个核心成员变量 TensorShape shape_;
TensorBuffer* buf_;其中TensorBuffer类型变量定义在tensor.h文件中,继承RefCounted类.RefCounted类是一个引用计数器类.
class RefCounted {
public:
// Initial reference count is one.
RefCounted();//引用计数器类,引用计数初始化为1
// Increments reference count by one.
void Ref() const; //引用计数加一
// Decrements reference count by one. If the count remains
// positive, returns false. When the count reaches zero, returns
// true and deletes this, in which case the caller must not access
// the object afterward.
bool Unref() const;//引用计数减一,当计数为负值时返回false
bool RefCountIsOne() const;//判断引用计数是否为1
protected:
// Make destructor protected so that RefCounted objects cannot
// be instantiated directly. Only subclas
本文深入探讨了TensorFlow中的Tensor类,其内部核心成员变量TensorShape和TensorBuffer。TensorBuffer继承自RefCounted类,用于管理内存,并通过引用计数实现buffer的生命周期管理。TensorBuffer定义了纯虚函数,强制通过子类实例化以实现多态。在Tensor类中,通过HostScalarTensorBufferBase和模板结构体ValueAndTensorBuffer,创建了具体的TensorBuffer子类并实现了所需功能,确保了灵活性和效率。
订阅专栏 解锁全文
454

被折叠的 条评论
为什么被折叠?



