テンソルフロー::テンソル

#include <tensor.h>

値の n 次元配列を表します。

まとめ

コンストラクターとデストラクター

Tensor ()
1 次元の 0 要素の float テンソルを作成します。
Tensor (DataType type, const TensorShape & shape)
指定されたtypeshapeTensorを作成します。
Tensor (Allocator *a, DataType type, const TensorShape & shape)
アロケーターaを使用して基礎となるバッファーを割り当て、入力typeshapeでテンソルを作成します。
Tensor (Allocator *a, DataType type, const TensorShape & shape, const AllocationAttributes & allocation_attr)
アロケーターaと指定された "allocation_attr" を使用して、基になるバッファーを割り当てる、入力typeshapeでテンソルを作成します。
Tensor (DataType type, const TensorShape & shape, TensorBuffer *buf)
入力データ型、形状、およびバッファを使用してテンソルを作成します。
Tensor (DataType type)
指定されたデータ型の空のTensorを作成します。
Tensor (float scalar_value)
Tensor (double scalar_value)
Tensor (int32 scalar_value)
Tensor (uint32 scalar_value)
Tensor (uint16 scalar_value)
Tensor (uint8 scalar_value)
Tensor (int16 scalar_value)
Tensor (int8 scalar_value)
Tensor (tstring scalar_value)
Tensor (complex64 scalar_value)
Tensor (complex128 scalar_value)
Tensor (int64 scalar_value)
Tensor (uint64 scalar_value)
Tensor (bool scalar_value)
Tensor (qint8 scalar_value)
Tensor (quint8 scalar_value)
Tensor (qint16 scalar_value)
Tensor (quint16 scalar_value)
Tensor (qint32 scalar_value)
Tensor (bfloat16 scalar_value)
Tensor (Eigen::half scalar_value)
Tensor (ResourceHandle scalar_value)
Tensor (const char *scalar_value)
Tensor (const Tensor & other)
コンストラクターをコピーします。
Tensor ( Tensor && other)
コンストラクターを移動します。
~Tensor ()

公共機能

AllocatedBytes () const
size_t
AsProtoField (TensorProto *proto) const
void
proto*this tensor の内容を入力します。
AsProtoTensorContent (TensorProto *proto) const
void
BitcastFrom (const Tensor & other, DataType dtype, const TensorShape & shape)
Status
他のテンソルをこのテンソルにコピーし、それを再形成し、バッファのデータ型を再解釈します。
CopyFrom (const Tensor & other, const TensorShape & shape) TF_MUST_USE_RESULT
bool
他のテンソルをこのテンソルにコピーし、再形成します。
DebugString (int num_values) const
string
デバッグに適した人間が読めるテンソルの概要。
DebugString () const
string
DeviceSafeDebugString () const
string
FillDescription (TensorDescription *description) const
void
TensorDescriptionプロトに、モニタリングとデバッグに役立つテンソルに関するメタデータを入力します。
FromProto (const TensorProto & other) TF_MUST_USE_RESULT
bool
otherを解析してテンソルを構築します。
FromProto (Allocator *a, const TensorProto & other) TF_MUST_USE_RESULT
bool
IsAligned () const
bool
このテンソルが位置合わせされている場合は true を返します。
IsInitialized () const
bool
必要に応じて、このTensor は初期化されていますか?
IsSameSize (const Tensor & b) const
bool
NumElements () const
int64
テンソル形状の便利なアクセサー。
RefCountIsOne () const
bool
SharesBufferWith (const Tensor & b) const
bool
Slice (int64 dim0_start, int64 dim0_limit) const
このテンソルを 1 次元に沿ってスライスします。
SubSlice (int64 index) const
このテンソルから 1 次元に沿ってサブスライスを選択します。
SummarizeValue (int64 max_entries, bool print_v2) const
string
*thisの最初のmax_entries値を文字列にレンダリングします。
TotalBytes () const
size_t
このテンソルの推定メモリ使用量を返します。
UnsafeCopyFromInternal (const Tensor & other, DataType dtype, const TensorShape & shape)
void
BitcastFrom と似ていますが、前提条件が満たされていない場合、CHECK は失敗します。
bit_casted_shaped (gtl::ArraySlice< int64 > new_sizes)
TTypes< T, NDIMS >:: Tensor
new_sizesで指定された新しい形状を使用してテンソル データをEigen::Tensorに返し、新しい dtype Tにキャストします。
bit_casted_shaped (gtl::ArraySlice< int64 > new_sizes) const
TTypes< T, NDIMS >::ConstTensor
new_sizesで指定された新しい形状を使用してテンソル データをEigen::Tensorに返し、新しい dtype Tにキャストします。
bit_casted_tensor ()
TTypes< T, NDIMS >:: Tensor
テンソル データを、同じサイズで、指定された dtype TにビットごとにキャストしたEigen::Tensorに返します。
bit_casted_tensor () const
TTypes< T, NDIMS >::ConstTensor
テンソル データを、同じサイズで、指定された dtype TにビットごとにキャストしたEigen::Tensorに返します。
data () const
void *
dim_size (int d) const
int64
テンソル形状の便利なアクセサー。
dims () const
int
テンソル形状の便利なアクセサー。
dtype () const
DataType
データ型を返します。
flat ()
TTypes< T >::Flat
テンソル データを、データ型と指定された形状のEigen::Tensorとして返します。
flat () const
TTypes< T >::ConstFlat
flat_inner_dims ()
TTypes< T, NDIMS >:: Tensor
データを NDIMS 次元の Eigen::Tensor として返し、最後の NDIMS-1 を除くすべてのTensor次元を結果の最初の次元に折りたたみます。
flat_inner_dims () const
TTypes< T, NDIMS >::ConstTensor
flat_inner_outer_dims (int64 begin)
TTypes< T, NDIMS >:: Tensor
データを NDIMS 次元の Eigen::Tensor として返します。最初の 'begin' Tensor次元を結果の最初の次元に折りたたみ、最後のdims() - 'begin' - NDIMS のTensor次元を結果の最後の次元に折りたたみます。結果。
flat_inner_outer_dims (int64 begin) const
TTypes< T, NDIMS >::ConstTensor
flat_outer_dims ()
TTypes< T, NDIMS >:: Tensor
データを NDIMS 次元の Eigen::Tensor として返し、最初の NDIMS-1 を除くすべてのTensor次元を結果の最後の次元に折りたたみます。
flat_outer_dims () const
TTypes< T, NDIMS >::ConstTensor
matrix ()
TTypes< T >::Matrix
matrix () const
TTypes< T >::ConstMatrix
operator= (const Tensor & other)
演算子を割り当てます。このテンソルは他のテンソルの基礎となるストレージを共有します。
operator= ( Tensor && other)
移動演算子。詳細については、移動コンストラクターを参照してください。
reinterpret_last_dimension ()
TTypes< T, NDIMS >:: Tensor
最後の次元要素がより大きな型の単一要素に変換された状態で、テンソル データをEigen::Tensorに返します。
reinterpret_last_dimension () const
TTypes< T, NDIMS >::ConstTensor
最後の次元要素がより大きな型の単一要素に変換された状態で、テンソル データをEigen::Tensorに返します。
scalar ()
TTypes< T >::Scalar
Tensorデータを固定サイズのTensorMapとして返します 1: TensorMap > TensorMap >
scalar () const
TTypes< T >::ConstScalar
shape () const
const TensorShape &
テンソルの形状を返します。
shaped (gtl::ArraySlice< int64 > new_sizes)
TTypes< T, NDIMS >:: Tensor
shaped (gtl::ArraySlice< int64 > new_sizes) const
TTypes< T, NDIMS >::ConstTensor
tensor ()
TTypes< T, NDIMS >:: Tensor
tensor () const
TTypes< T, NDIMS >::ConstTensor
tensor_data () const
StringPiece
現在のテンソルのバッファをマッピングするStringPieceを返します。
unaligned_flat ()
TTypes< T >::UnalignedFlat
unaligned_flat () const
TTypes< T >::UnalignedConstFlat
unaligned_shaped (gtl::ArraySlice< int64 > new_sizes)
TTypes< T, NDIMS >::UnalignedTensor
unaligned_shaped (gtl::ArraySlice< int64 > new_sizes) const
TTypes< T, NDIMS >::UnalignedConstTensor
vec ()
TTypes< T >::Vec
テンソル データを、このTensorの型とサイズを含むEigen::Tensorとして返します。
vec () const
TTypes< T >::ConstVec
上記のすべてのメソッドの定数バージョン。

公共機能

割り当てられたバイト数

size_t AllocatedBytes() const 

プロトフィールドとして

void AsProtoField(
  TensorProto *proto
) const 

proto*this tensor の内容を入力します。

AsProtoField() proto.dtype()の繰り返しフィールドを埋めますが、 AsProtoTensorContent() proto.tensor_content()のコンテンツをコンパクトな形式でエンコードします。

AsProtoTensorContent

void AsProtoTensorContent(
  TensorProto *proto
) const 

ビットキャストから

Status BitcastFrom(
  const Tensor & other,
  DataType dtype,
  const TensorShape & shape
)

他のテンソルをこのテンソルにコピーし、それを再形成し、バッファのデータ型を再解釈します。

Status::OK() が返された場合、2 つのテンソルは同じ基礎となるストレージを共有します。

この呼び出しでは、 otherテンソルと指定された型および形状が「互換性がある」(つまり、同じバイト数を占有する) 必要があります。

具体的には:

shape.num_elements() * DataTypeSize(タイプ)

等しい必要があります

other.num_elements() * DataTypeSize(other.dtype())

さらに、この関数には以下が必要です。

  • DataTypeSize(other.dtype()) != 0
  • DataTypeSize(タイプ) != 0

いずれかの要件が満たされていない場合は、errors::InvalidArgument が返されます。

コピー元

bool CopyFrom(
  const Tensor & other,
  const TensorShape & shape
) TF_MUST_USE_RESULT

他のテンソルをこのテンソルにコピーし、再形成します。

このテンソルは他のテンソルの基礎となるストレージを共有します。 other.shape()に指定されたshapeの要素が同じ数ある場合はtrueを返します。

デバッグ文字列

string DebugString(
  int num_values
) const 

デバッグに適した人間が読めるテンソルの概要。

デバッグ文字列

string DebugString() const 

DeviceSafeDebugString

string DeviceSafeDebugString() const 

説明を記入

void FillDescription(
  TensorDescription *description
) const 

TensorDescriptionプロトに、モニタリングとデバッグに役立つテンソルに関するメタデータを入力します。

フロムプロト

bool FromProto(
  const TensorProto & other
) TF_MUST_USE_RESULT

otherを解析してテンソルを構築します。

解析が成功した場合はtrue返します。解析が失敗した場合、 *thisの状態は変更されません。

フロムプロト

bool FromProto(
  Allocator *a,
  const TensorProto & other
) TF_MUST_USE_RESULT

IsAligned

bool IsAligned() const 

このテンソルが位置合わせされている場合は true を返します。

初期化されています

bool IsInitialized() const 

必要に応じて、このTensor は初期化されていますか?

ゼロ要素 Tensor は、メモリが割り当てられておらず、メモリが割り当てられていない場合でも、常に初期化されているとみなされます。

同じサイズです

bool IsSameSize(
  const Tensor & b
) const 

要素数

int64 NumElements() const 

テンソル形状の便利なアクセサー。

RefCountIsOne

bool RefCountIsOne() const 

バッファを共有

bool SharesBufferWith(
  const Tensor & b
) const 

スライス

Tensor Slice(
  int64 dim0_start,
  int64 dim0_limit
) const 

このテンソルを 1 次元に沿ってスライスします。

つまり、返されたテンソルは、returned[i, ...] == this[dim0_start + i, ...] を満たします。返されたテンソルは、基になるテンソル バッファーをこのテンソルと共有します。

注: 返されたテンソルは、形状によっては、このテンソルと同じ位置合わせ要件を満たさない場合があります。呼び出し元は、アライメント要件のある特定のメソッド ( flat()tensor() ) を呼び出す前に、返された tensor のアライメントをチェックする必要があります。

注: N 次元のテンソルが与えられると、このメソッドは同じく N 次元のテンソルを返します。サブテンソルを選択する場合は、「サブスライス」を参照してください。

必須: dims() >= 1 必須: 0 <= dim0_start <= dim0_limit <= dim_size(0)

サブスライス

Tensor SubSlice(
  int64 index
) const 

このテンソルから 1 次元に沿ってサブスライスを選択します。

N 次元のテンソルが与えられると、このメソッドは N-1 次元のテンソルを返します。返されるテンソルは、最初の次元に沿った入力テンソルのサブスライスです。返されるテンソルの N-1 次元は、入力テンソルの最後の N-1 次元です。

注: 返されたテンソルは、形状によっては、このテンソルと同じ位置合わせ要件を満たさない場合があります。呼び出し元は、アライメント要件のある特定のメソッド ( flat()tensor() ) を呼び出す前に、返された tensor のアライメントをチェックする必要があります。

必須: dims() >= 1 必須: 0 <= index < dim_size(0)

要約値

string SummarizeValue(
  int64 max_entries,
  bool print_v2
) const 

*thisの最初のmax_entries値を文字列にレンダリングします。

テンソル

 Tensor()

1 次元の 0 要素の float テンソルを作成します。

返されたTensor はスカラー (形状 {}) ではなく、空の 1 次元Tensor (形状 {0}、 NumElements() == 0) です。要素がないため、値を割り当てる必要はなく、デフォルトで初期化されます ( IsInitialized()は true)。これが望ましくない場合は、初期化が必要な 1 要素のスカラーを作成することを検討してください。

Tensor(DT_FLOAT, TensorShape({}))

      

Tensor

 Tensor(
  DataType type,
  const TensorShape & shape
)

指定されたtypeshapeTensorを作成します。

LogMemory::IsEnabled() の場合、割り当ては不明なカーネルお​​よびステップからのものとして記録されます。 Op 内からTensorコンストラクターを直接呼び出すことは非推奨です。OpKernelConstruction/OpKernelContext assign_* メソッドを使用して、カーネルとステップを記録する新しいテンソルを割り当てます。

基礎となるバッファはCPUAllocatorを使用して割り当てられます。

テンソル

 Tensor(
  Allocator *a,
  DataType type,
  const TensorShape & shape
)

アロケーターaを使用して基礎となるバッファーを割り当て、入力typeshapeでテンソルを作成します。

LogMemory::IsEnabled() の場合、割り当ては不明なカーネルお​​よびステップからのものとして記録されます。 Op 内からTensorコンストラクターを直接呼び出すことは非推奨です。OpKernelConstruction/OpKernelContext assign_* メソッドを使用して、カーネルとステップを記録する新しいテンソルを割り当てます。

aこのTensorの存続期間を超えて存続する必要があります。

テンソル

 Tensor(
  Allocator *a,
  DataType type,
  const TensorShape & shape,
  const AllocationAttributes & allocation_attr
)

アロケーターaと指定された "allocation_attr" を使用して、基になるバッファーを割り当てる、入力typeshapeでテンソルを作成します。

カーネルとステップがわかっている場合は、allocation_attr.allocation_will_be_logged を true に設定し、テンソルの構築後に LogMemory::RecordTensorAllocation を呼び出す必要があります。 Op 内からTensorコンストラクターを直接呼び出すことは非推奨です。OpKernelConstruction/OpKernelContext assign_* メソッドを使用して、カーネルとステップを記録する新しいテンソルを割り当てます。

aこのTensorの存続期間を超えて存続する必要があります。

テンソル

 Tensor(
  DataType type,
  const TensorShape & shape,
  TensorBuffer *buf
)

入力データ型、形状、およびバッファを使用してテンソルを作成します。

このTensorに属する buf の ref を取得します。

テンソル

 Tensor(
  DataType type
)

指定されたデータ型の空のTensorを作成します。

Tensor()と同様に、 IsInitialized()が True を返す 1 次元の 0 要素のTensorを返します。詳細については、 Tensor() のドキュメントを参照してください。

テンソル

 Tensor(
  float scalar_value
)

テンソル

 Tensor(
  double scalar_value
)

テンソル

 Tensor(
  int32 scalar_value
)

テンソル

 Tensor(
  uint32 scalar_value
)

テンソル

 Tensor(
  uint16 scalar_value
)

テンソル

 Tensor(
  uint8 scalar_value
)

テンソル

 Tensor(
  int16 scalar_value
)

テンソル

 Tensor(
  int8 scalar_value
)

テンソル

 Tensor(
  tstring scalar_value
)

テンソル

 Tensor(
  complex64 scalar_value
)

テンソル

 Tensor(
  complex128 scalar_value
)

テンソル

 Tensor(
  int64 scalar_value
)

テンソル

 Tensor(
  uint64 scalar_value
)

テンソル

 Tensor(
  bool scalar_value
)

テンソル

 Tensor(
  qint8 scalar_value
)

テンソル

 Tensor(
  quint8 scalar_value
)

テンソル

 Tensor(
  qint16 scalar_value
)

テンソル

 Tensor(
  quint16 scalar_value
)

テンソル

 Tensor(
  qint32 scalar_value
)

テンソル

 Tensor(
  bfloat16 scalar_value
)

テンソル

 Tensor(
  Eigen::half scalar_value
)

テンソル

 Tensor(
  ResourceHandle scalar_value
)

テンソル

 Tensor(
  const char *scalar_value
)

テンソル

 Tensor(
  const Tensor & other
)

コンストラクターをコピーします。

テンソル

 Tensor(
  Tensor && other
)

コンストラクターを移動します。

この電話の後、は安全に破壊可能であり、割り当てることができますが、それに対する他の呼び出し (形状操作など) は無効です。

合計バイト数

size_t TotalBytes() const 

このテンソルの推定メモリ使用量を返します。

安全でない内部からコピー

void UnsafeCopyFromInternal(
  const Tensor & other,
  DataType dtype,
  const TensorShape & shape
)

BitcastFrom と似ていますが、前提条件が満たされていない場合、CHECK は失敗します。

廃止されました。代わりに BitcastFrom を使用し、返されたステータスを確認してください。

ビットキャストされた形状

TTypes< T, NDIMS >::Tensor bit_casted_shaped(
  gtl::ArraySlice< int64 > new_sizes
)

new_sizesで指定された新しい形状を使用してテンソル データをEigen::Tensorに返し、新しい dtype Tにキャストします。

ビットキャストの使用は、移動およびコピー操作に便利です。許可されるビットキャストがshaped()との唯一の違いです。

ビットキャストされた形状

TTypes< T, NDIMS >::ConstTensor bit_casted_shaped(
  gtl::ArraySlice< int64 > new_sizes
) const 

new_sizesで指定された新しい形状を使用してテンソル データをEigen::Tensorに返し、新しい dtype Tにキャストします。

ビットキャストの使用は、移動およびコピー操作に便利です。許可されるビットキャストがshaped()との唯一の違いです。

bit_casted_tensor

TTypes< T, NDIMS >::Tensor bit_casted_tensor()

テンソル データを、同じサイズで、指定された dtype TにビットごとにキャストしたEigen::Tensorに返します。

ビットキャストの使用は、移動およびコピー操作に便利です。注: これは、ビットキャストが許可されていることを除いて、 tensor()と同じです。

bit_casted_tensor

TTypes< T, NDIMS >::ConstTensor bit_casted_tensor() const 

テンソル データを、同じサイズで、指定された dtype TにビットごとにキャストしたEigen::Tensorに返します。

ビットキャストの使用は、移動およびコピー操作に便利です。注: これは、ビットキャストが許可されていることを除いて、 tensor()と同じです。

データ

void * data() const 

dim_size

int64 dim_size(
  int d
) const 

テンソル形状の便利なアクセサー。

薄暗くなります

int dims() const 

テンソル形状の便利なアクセサー。

すべてのシェイプ アクセサーについては、 tensor_shape.hTensorShapeの関連メソッドのコメントを参照してください。

dtype

DataType dtype() const 

データ型を返します。

フラット

TTypes< T >::Flat flat()

テンソル データを、データ型と指定された形状のEigen::Tensorとして返します。

これらのメソッドを使用すると、選択したディメンションとサイズでデータにアクセスできます。それらを呼び出すためにTensorの次元数を知る必要はありません。ただし、型が一致していること、および要求された次元がテンソルと同じ数の要素をもつEigen::Tensorを作成することをCHECK

例:

  
    typedef float T;
    Tensor my_ten(...built with Shape{planes: 4, rows: 3, cols: 5}...);
    // 1D Eigen::Tensor, size 60:
    auto flat = my_ten.flat();
    // 2D Eigen::Tensor 12 x 5:
    auto inner = my_ten.flat_inner_dims();
    // 2D Eigen::Tensor 4 x 15:
    auto outer = my_ten.shaped({4, 15});
    // CHECK fails, bad num elements:
    auto outer = my_ten.shaped({4, 8});
    // 3D Eigen::Tensor 6 x 5 x 2:
    auto weird = my_ten.shaped({6, 5, 2});
    // CHECK fails, type mismatch:
    auto bad   = my_ten.flat();

      

flat

TTypes< T >::ConstFlat flat() const 

flat_inner_dims

TTypes< T, NDIMS >::Tensor flat_inner_dims()

データを NDIMS 次元の Eigen::Tensor として返し、最後の NDIMS-1 を除くすべてのTensor次元を結果の最初の次元に折りたたみます。

NDIMS > dims()の場合、出力ランクを NDIMS にするためにサイズ 1 の先行ディメンションが追加されます。

flat_inner_dims

TTypes< T, NDIMS >::ConstTensor flat_inner_dims() const 

flat_inner_outer_dims

TTypes< T, NDIMS >::Tensor flat_inner_outer_dims(
  int64 begin
)

データを NDIMS 次元の Eigen::Tensor として返します。最初の 'begin' Tensor次元を結果の最初の次元に集約し、最後のdims() - 'begin' - NDIMS のTensor次元を結果の最後の次元に集約します。結果。

'begin' < 0 の場合、|'begin'|サイズ1の先頭寸法が追加されます。 'begin' + NDIMS > dims()の場合、'begin' + NDIMS - dims()サイズ 1 の末尾ディメンションが追加されます。

flat_inner_outer_dims

TTypes< T, NDIMS >::ConstTensor flat_inner_outer_dims(
  int64 begin
) const 

flat_outer_dims

TTypes< T, NDIMS >::Tensor flat_outer_dims()

データを NDIMS 次元の Eigen::Tensor として返し、最初の NDIMS-1 を除くすべてのTensor次元を結果の最後の次元に折りたたみます。

NDIMS > dims()の場合、出力ランクを NDIMS にするために、サイズ 1 の末尾ディメンションが追加されます。

flat_outer_dims

TTypes< T, NDIMS >::ConstTensor flat_outer_dims() const 

マトリックス

TTypes< T >::Matrix matrix()

マトリックス

TTypes< T >::ConstMatrix matrix() const 

演算子=

Tensor & operator=(
  const Tensor & other
)

演算子を割り当てます。このテンソルは他のテンソルの基礎となるストレージを共有します。

演算子=

Tensor & operator=(
  Tensor && other
)

移動演算子。詳細については、移動コンストラクターを参照してください。

最後の次元を再解釈する

TTypes< T, NDIMS >::Tensor reinterpret_last_dimension()

最後の次元要素がより大きな型の単一要素に変換された状態で、テンソル データをEigen::Tensorに返します。

たとえば、これは NCHW_VECT_C int8 テンソルを NCHW int32 テンソルとして扱うことができるカーネルに役立ちます。 sizeof(T) は、元の要素タイプのサイズ * 元の最後の次元の num 要素と等しくなければなりません。 NDIMS は、元の次元数より 1 小さい値にする必要があります。

最後の次元を再解釈する

TTypes< T, NDIMS >::ConstTensor reinterpret_last_dimension() const 

最後の次元要素がより大きな型の単一要素に変換された状態で、テンソル データをEigen::Tensorに返します。

たとえば、これは NCHW_VECT_C int8 テンソルを NCHW int32 テンソルとして扱うことができるカーネルに役立ちます。 sizeof(T) は、元の要素タイプのサイズ * 元の最後の次元の num 要素と等しくなければなりません。 NDIMS は、元の次元数より 1 小さい値にする必要があります。

スカラー

TTypes< T >::Scalar scalar()

Tensorデータを固定サイズのTensorMapとして返します 1: TensorMap > TensorMap >

scalar()を使用すると、テンソルのサイズがコンパイル時に判明しているため、コンパイラーは最適化を実行できます。

スカラー

TTypes< T >::ConstScalar scalar() const 

const TensorShape & shape() const 

テンソルの形状を返します。

形をした

TTypes< T, NDIMS >::Tensor shaped(
  gtl::ArraySlice< int64 > new_sizes
)

形をした

TTypes< T, NDIMS >::ConstTensor shaped(
  gtl::ArraySlice< int64 > new_sizes
) const 

テンソル

TTypes< T, NDIMS >::Tensor tensor()

テンソル

TTypes< T, NDIMS >::ConstTensor tensor() const 

テンソルデータ

StringPiece tensor_data() const 

現在のテンソルのバッファをマッピングするStringPieceを返します。

返されたStringPiece 、CPU が直接アドレス指定できないデバイス上のメモリ位置を指している場合があります。

注: 基になるテンソル バッファーは参照カウントされるため、 StringPieceによってマップされたコンテンツの有効期間はバッファーの有効期間と一致します。呼び出し側は、 StringPieceがまだ使用されている間にバッファが破壊されないように手配する必要があります。

必須: DataTypeCanUseMemcpy(dtype())

整列されていない_フラット

TTypes< T >::UnalignedFlat unaligned_flat()

整列されていない_フラット

TTypes< T >::UnalignedConstFlat unaligned_flat() const 

整列されていない形状

TTypes< T, NDIMS >::UnalignedTensor unaligned_shaped(
  gtl::ArraySlice< int64 > new_sizes
)

整列されていない形状

TTypes< T, NDIMS >::UnalignedConstTensor unaligned_shaped(
  gtl::ArraySlice< int64 > new_sizes
) const 

ベク

TTypes< T >::Vec vec()

テンソル データを、この Tensor の型とサイズを含む Eigen::Tensor として返します。

Tensor のデータ型と次元数がわかっていて、Eigen::Tensor を Tensor サイズに自動的にサイズ設定する必要がある場合は、これらのメソッドを使用します。タイプまたはサイズのいずれかが一致しない場合、実装チェックは失敗します。

例:

  
    typedef float T;
    Tensor my_mat(...built with Shape{rows: 3, cols: 5}...);
    auto mat = my_mat.matrix();    // 2D Eigen::Tensor, 3 x 5.
    auto mat = my_mat.tensor(); // 2D Eigen::Tensor, 3 x 5.
    auto vec = my_mat.vec();       // CHECK fails as my_mat is 2D.
    auto vec = my_mat.tensor(); // CHECK fails as my_mat is 2D.
    auto mat = my_mat.matrix();// CHECK fails as type mismatch.

      

vec

TTypes< T >::ConstVec vec() const 

上記のすべてのメソッドの定数バージョン。

~テンソル

 ~Tensor()