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

#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)
他のテンソルをこのテンソルにコピーし、それを再形成し、バッファのデータ型を再解釈します。
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
テンソル形状の便利なアクセサー。
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に返します。
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 

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

バッファを共有

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 <= dim0_start < 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 を使用し、返されたStatusを確認してください。

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

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()と同じです。

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 サイズに自動的にサイズ設定する必要がある場合は、これらのメソッドを使用します。タイプまたはサイズのいずれかが一致しない場合、実装チェックは失敗します。

例:

l10n-プレースホルダー89

l10n-プレースホルダー90

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

~テンソル

l10n-プレースホルダー91

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

#include <tensor.h>

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

まとめ

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

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

公共機能

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

公共機能

割り当てられたバイト数

l10n-プレースホルダー1

プロトフィールドとして

l10n-プレースホルダー2

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

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

AsProtoTensorContent

l10n-プレースホルダー3

ビットキャストから

l10n-プレースホルダー4

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

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

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

具体的には:

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

等しい必要があります

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

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

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

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

コピー元

l10n-プレースホルダー5

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

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

デバッグ文字列

l10n-プレースホルダー6

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

デバッグ文字列

l10n-プレースホルダー7

DeviceSafeDebugString

l10n-プレースホルダー8

説明を記入

l10n-プレースホルダー9

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

フロムプロト

l10n-プレースホルダー10

その他を解析してテンソルを構築します。

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

フロムプロト

l10n-プレースホルダー11

IsAligned

l10n-プレースホルダー12

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

初期化されています

l10n-プレースホルダー13

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

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

同じサイズです

l10n-プレースホルダー14

要素数

l10n-プレースホルダー15

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

バッファを共有

l10n-プレースホルダー16

スライス

l10n-プレースホルダー17

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

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

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

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

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

サブスライス

l10n-プレースホルダー18

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

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

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

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

要約値

l10n-プレースホルダー19

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

テンソル

l10n-プレースホルダー20

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

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

l10n-プレースホルダー21

l10n-プレースホルダー22

指定されたタイプと形状の Tensor を作成します。

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

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

テンソル

l10n-プレースホルダー23

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

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

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

テンソル

l10n-プレースホルダー24

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

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

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

テンソル

l10n-プレースホルダー25

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

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

テンソル

l10n-プレースホルダー26

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

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

テンソル

l10n-プレースホルダー27

テンソル

l10n-プレースホルダー28

テンソル

l10n-プレースホルダー29

テンソル

l10n-プレースホルダー30

テンソル

l10n-プレースホルダー31

テンソル

l10n-プレースホルダー32

テンソル

l10n-プレースホルダー33

テンソル

l10n-プレースホルダー34

テンソル

l10n-プレースホルダー35

テンソル

l10n-プレースホルダー36

テンソル

l10n-プレースホルダー37

テンソル

l10n-プレースホルダー38

テンソル

l10n-プレースホルダー39

テンソル

l10n-プレースホルダー40

テンソル

l10n-プレースホルダー41

テンソル

l10n-プレースホルダー42

テンソル

l10n-プレースホルダー43

テンソル

l10n-プレースホルダー44

テンソル

l10n-プレースホルダー45

テンソル

l10n-プレースホルダー46

テンソル

l10n-プレースホルダー47

テンソル

l10n-プレースホルダー48

テンソル

l10n-プレースホルダー49

テンソル

l10n-プレースホルダー50

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

テンソル

l10n-プレースホルダー51

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

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

合計バイト数

l10n-プレースホルダー52

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

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

l10n-プレースホルダー53

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

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

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

l10n-プレースホルダー54

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

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

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

l10n-プレースホルダー55

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

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

bit_casted_tensor

l10n-プレースホルダー56

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

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

bit_casted_tensor

l10n-プレースホルダー57

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

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

dim_size

l10n-プレースホルダー58

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

薄暗くなります

l10n-プレースホルダー59

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

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

dtype

l10n-プレースホルダー60

データ型を返します。

フラット

l10n-プレースホルダー61

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

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

例:

l10n-プレースホルダー62

l10n-プレースホルダー63

flat_inner_dims

l10n-プレースホルダー64

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

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

flat_inner_dims

l10n-プレースホルダー65

flat_inner_outer_dims

l10n-プレースホルダー66

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

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

flat_inner_outer_dims

l10n-プレースホルダー67

flat_outer_dims

l10n-プレースホルダー68

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

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

flat_outer_dims

l10n-プレースホルダー69

マトリックス

l10n-プレースホルダー70

マトリックス

l10n-プレースホルダー71

演算子=

l10n-プレースホルダー72

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

演算子=

l10n-プレースホルダー73

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

最後の次元を再解釈する

l10n-プレースホルダー74

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

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

最後の次元を再解釈する

l10n-プレースホルダー75

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

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

スカラー

l10n-プレースホルダー76

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

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

スカラー

l10n-プレースホルダー77

l10n-プレースホルダー78

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

形をした

l10n-プレースホルダー79

形をした

l10n-プレースホルダー80

テンソル

l10n-プレースホルダー81

テンソル

l10n-プレースホルダー82

テンソルデータ

l10n-プレースホルダー83

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

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

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

必須: DataTypeCanUseMemcpy(dtype()) 。

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

l10n-プレースホルダー84

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

l10n-プレースホルダー85

整列されていない形状

l10n-プレースホルダー86

整列されていない形状

l10n-プレースホルダー87

ベック

l10n-プレースホルダー88

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

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

例:

l10n-プレースホルダー89

l10n-プレースホルダー90

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

~テンソル

l10n-プレースホルダー91