tensorflow:: Tensor
#include <tensor.h>يمثل مصفوفة من القيم ذات أبعاد n.
ملخص
البناة والمدمرون | |
|---|---|
Tensor () يُنشئ موترًا من نوع float أحادي البعد، يحتوي على 0 عنصر. | |
Tensor (DataType type, const TensorShape & shape) | |
Tensor (Allocator *a, DataType type, const TensorShape & shape) يقوم بإنشاء موتر type shape الإدخال، باستخدام المخصص a لتخصيص المخزن المؤقت الأساسي. | |
Tensor (Allocator *a, DataType type, const TensorShape & shape, const AllocationAttributes & allocation_attr) يقوم بإنشاء موتر type shape الإدخال، باستخدام المخصص a و "allocation_attr" المحدد لتخصيص المخزن المؤقت الأساسي. | |
Tensor (DataType type, const TensorShape & shape, TensorBuffer *buf) يقوم بإنشاء موتر باستخدام نوع البيانات المدخلة والشكل والمخزن المؤقت. | |
Tensor (DataType type) ينشئ موترًا فارغًا من نوع البيانات المحدد. | |
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 الموتر. |
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 تُرجع القيمة "صحيح" إذا كان هذا الموتر متوافقًا. |
IsInitialized () const | bool هل تم تهيئة هذا الموتر إذا لزم الأمر؟ |
IsSameSize (const Tensor & b) const | bool |
NumElements () const | int64 أداة وصول ملائمة لشكل الموتر. |
SharesBufferWith (const Tensor & b) const | bool |
Slice (int64 dim0_start, int64 dim0_limit) const | قم بتقسيم هذا الموتر على طول البعد الأول. |
SubSlice (int64 index) const | حدد شريحة فرعية من هذا الموتر على طول البعد الأول. |
SummarizeValue (int64 max_entries, bool print_v2) const | string قم بتحويل أول قيم max_entries في *this إلى سلسلة نصية. |
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 أعد بيانات الموتر إلى Eigen::Tensor بالشكل الجديد المحدد في new_sizes وقم بتحويلها إلى نوع بيانات جديد T |
bit_casted_shaped (gtl::ArraySlice< int64 > new_sizes) const | TTypes< T, NDIMS >::ConstTensor أعد بيانات الموتر إلى Eigen::Tensor بالشكل الجديد المحدد في new_sizes وقم بتحويلها إلى نوع بيانات جديد T |
bit_casted_tensor () | TTypes< T, NDIMS >:: Tensor أعد بيانات الموتر إلى Eigen::Tensor بنفس الحجم ولكن مع تحويل بتّي إلى نوع البيانات المحدد T |
bit_casted_tensor () const | TTypes< T, NDIMS >::ConstTensor أعد بيانات الموتر إلى Eigen::Tensor بنفس الحجم ولكن مع تحويل بتّي إلى نوع البيانات المحدد T |
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 يقوم بإرجاع البيانات كـ Eigen::Tensor بأبعاد NDIMS، مع دمج جميع أبعاد Tensor باستثناء NDIMS-1 الأخير في البعد الأول للنتيجة. |
flat_inner_dims () const | TTypes< T, NDIMS >::ConstTensor |
flat_inner_outer_dims (int64 begin) | TTypes< T, NDIMS >:: Tensor |
flat_inner_outer_dims (int64 begin) const | TTypes< T, NDIMS >::ConstTensor |
flat_outer_dims () | TTypes< T, NDIMS >:: Tensor يقوم بإرجاع البيانات كـ Eigen::Tensor بأبعاد NDIMS، مع دمج جميع أبعاد Tensor باستثناء أول NDIMS-1 في البعد الأخير من النتيجة. |
flat_outer_dims () const | TTypes< T, NDIMS >::ConstTensor |
matrix () | TTypes< T >::Matrix |
matrix () const | TTypes< T >::ConstMatrix |
operator= (const Tensor & other) | Tensor & عامل التعيين. يتشارك هذا الموتر في مساحة التخزين الأساسية لموتر آخر. |
operator= ( Tensor && other) | Tensor & عامل النقل. راجع مُنشئ النقل لمزيد من التفاصيل. |
reinterpret_last_dimension () | TTypes< T, NDIMS >:: Tensor قم بإرجاع بيانات الموتر إلى Eigen::Tensor مع تحويل عناصر البعد الأخير إلى عناصر مفردة من نوع أكبر. |
reinterpret_last_dimension () const | TTypes< T, NDIMS >::ConstTensor قم بإرجاع بيانات الموتر إلى Eigen::Tensor مع تحويل عناصر البعد الأخير إلى عناصر مفردة من نوع أكبر. |
scalar () | TTypes< T >::Scalar |
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 قم بإرجاع بيانات الموتر كـ Eigen::Tensor بنوع وأحجام هذا Tensor . |
vec () const | TTypes< T >::ConstVec نسخ ثابتة من جميع الطرق المذكورة أعلاه. |
الوظائف العامة
بايتات مخصصة
size_t AllocatedBytes() const
AsProtoField
void AsProtoField( TensorProto *proto ) const
يملأ proto بمحتوى *this الموتر.
تقوم AsProtoField() بملء الحقل المتكرر لـ proto.dtype() ، بينما تقوم AsProtoTensorContent() بترميز المحتوى في proto.tensor_content() بشكل مضغوط.
AsProtoTensorContent
void AsProtoTensorContent( TensorProto *proto ) const
BitcastFrom
Status BitcastFrom( const Tensor & other, DataType dtype, const TensorShape & shape )
انسخ الموتر الآخر إلى هذا الموتر، وأعد تشكيله، وأعد تفسير نوع بيانات المخزن المؤقت.
إذا تم إرجاع Status::OK()، فإن الموترين يشتركان الآن في نفس وحدة التخزين الأساسية.
يتطلب هذا الاستدعاء أن يكون الموتر other والنوع والشكل المحدد "متوافقين" (أي أنهما يشغلان نفس عدد البايتات).
خاصة:
shape.num_elements() * DataTypeSize(type)
يجب أن يساوي
other.num_elements() * DataTypeSize(other.dtype())
بالإضافة إلى ذلك، تتطلب هذه الوظيفة ما يلي:
- حجم نوع البيانات (other.dtype()) لا يساوي صفرًا
- حجم نوع البيانات (النوع) لا يساوي صفرًا
إذا لم يتم استيفاء أي من المتطلبات، فسيتم إرجاع errors::InvalidArgument.
نسخ من
bool CopyFrom( const Tensor & other, const TensorShape & shape ) TF_MUST_USE_RESULT
انسخ الموتر الآخر إلى هذا الموتر وأعد تشكيله.
يتشارك هذا الموتر في مساحة التخزين الأساسية لموتر آخر. تُرجع القيمة true " إذا كان other.shape() نفس عدد العناصر ذات shape المُعطى.
DebugString
string DebugString( int num_values ) const
ملخص سهل القراءة للموتر مناسب لتصحيح الأخطاء.
DebugString
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
متوازي
bool IsAligned() const
تُرجع القيمة "صحيح" إذا كان هذا الموتر متوافقًا.
تم التهيئة
bool IsInitialized() const
هل تم تهيئة هذا الموتر إذا لزم الأمر؟
تعتبر الموترات ذات العناصر الصفرية مهيأة دائمًا، حتى لو لم يتم تعيينها مطلقًا ولم يتم تخصيص أي ذاكرة لها.
حجمها متماثل
bool IsSameSize( const Tensor & b ) const
عدد العناصر
int64 NumElements() const
أداة وصول ملائمة لشكل الموتر.
SharesBufferWith
bool SharesBufferWith( const Tensor & b ) const
شريحة
Tensor Slice( int64 dim0_start, int64 dim0_limit ) const
قم بتقسيم هذا الموتر على طول البعد الأول.
أي أن الموتر المُعاد يحقق الشرط returned[i, ...] == this[dim0_start + i, ...]. ويشترك الموتر المُعاد في مخزن الموتر الأساسي مع هذا الموتر.
ملاحظة: قد لا يفي الموتر المُعاد بنفس متطلبات المحاذاة التي يفي بها هذا الموتر، وذلك تبعًا لشكلِه. يجب على المُستدعي التحقق من محاذاة الموتر المُعاد قبل استدعاء بعض الدوال التي تتطلب محاذاة (مثل flat() و tensor() ).
ملاحظة: عند إدخال موتر ذي أبعاد N، تُرجع هذه الطريقة موترًا آخر بأبعاد N أيضًا. إذا كنت ترغب في تحديد موتر فرعي، فراجع SubSlice.
المتطلبات: dims() >= 1 المتطلبات: 0 <= dim0_start <= dim0_limit <= dim_size(0)
شريحة فرعية
Tensor SubSlice( int64 index ) const
حدد شريحة فرعية من هذا الموتر على طول البعد الأول.
عند إدخال موتر ذي أبعاد N، تُعيد هذه الطريقة موترًا بأبعاد N-1، حيث يُمثل الموتر المُعاد شريحةً فرعيةً من الموتر المُدخل على طول البُعد الأول. أما أبعاد N-1 للموتر المُعاد فهي آخر N-1 بُعد من الموتر المُدخل.
ملاحظة: قد لا يفي الموتر المُعاد بنفس متطلبات المحاذاة التي يفي بها هذا الموتر، وذلك تبعًا لشكلِه. يجب على المُستدعي التحقق من محاذاة الموتر المُعاد قبل استدعاء بعض الدوال التي تتطلب محاذاة (مثل flat() و tensor() ).
يتطلب: dims() من أو تساوي 1، ويتطلب أيضًا: أن يكون حجم المصفوفة 0 <= dim0_start < dim_size(0)
تلخيص القيمة
string SummarizeValue( int64 max_entries, bool print_v2 ) const
قم بتحويل أول قيم max_entries في *this إلى سلسلة نصية.
الموتر
Tensor()
يُنشئ موترًا من نوع float أحادي البعد، يحتوي على 0 عنصر.
الموتر المُعاد ليس عددًا قياسيًا (شكله {})، بل هو موتر أحادي البعد فارغ (شكله {0}، عدد عناصره يساوي صفرًا). ولأنه لا يحتوي على عناصر، فلا حاجة لتعيين قيمة له، ويتم تهيئته افتراضيًا ( دالة IsInitialized() تساوي true). إذا كان هذا غير مرغوب فيه، ففكّر في إنشاء عدد قياسي ذي عنصر واحد يتطلب تهيئة.
Tensor(DT_FLOAT, TensorShape({}))
Tensor
Tensor( DataType type, const TensorShape & shape )
يقوم بإنشاء موتر من type shape المحددين.
إذا كانت قيمة LogMemory::IsEnabled() صحيحة، فسيتم تسجيل عملية التخصيص على أنها صادرة من نواة وخطوة غير معروفتين. يُنصح بعدم استدعاء مُنشئ Tensor مباشرةً من داخل Op: استخدم طرق allocate_* الخاصة بـ OpKernelConstruction/OpKernelContext لتخصيص موتر جديد، والتي تسجل النواة والخطوة.
يتم تخصيص المخزن المؤقت الأساسي باستخدام CPUAllocator .
الموتر
Tensor( Allocator *a, DataType type, const TensorShape & shape )
يقوم بإنشاء موتر type shape الإدخال، باستخدام المخصص a لتخصيص المخزن المؤقت الأساسي.
إذا كانت قيمة LogMemory::IsEnabled() صحيحة، فسيتم تسجيل عملية التخصيص على أنها صادرة من نواة وخطوة غير معروفتين. يُنصح بعدم استدعاء مُنشئ Tensor مباشرةً من داخل Op: استخدم طرق allocate_* الخاصة بـ OpKernelConstruction/OpKernelContext لتخصيص موتر جديد، والتي تسجل النواة والخطوة.
a أن يعيش هذا الشيء لفترة أطول من عمر هذا الموتر .
الموتر
Tensor( Allocator *a, DataType type, const TensorShape & shape, const AllocationAttributes & allocation_attr )
يقوم بإنشاء موتر type shape الإدخال، باستخدام المخصص a و "allocation_attr" المحدد لتخصيص المخزن المؤقت الأساسي.
إذا كانت النواة والخطوة معروفتين، فيجب ضبط `allocation_attr.allocation_will_be_logged` على `true`، ويجب استدعاء `LogMemory::RecordTensorAllocation` بعد إنشاء الموتر. يُنصح بعدم استدعاء مُنشئ الموتر مباشرةً من داخل `Op`: استخدم طرق `allocate_*` في `OpKernelConstruction` و`OpKernelContext` لتخصيص موتر جديد، والذي يسجل النواة والخطوة.
a أن يعيش هذا الشيء لفترة أطول من عمر هذا الموتر .
الموتر
Tensor( DataType type, const TensorShape & shape, TensorBuffer *buf )
يقوم بإنشاء موتر باستخدام نوع البيانات المدخلة والشكل والمخزن المؤقت.
يكتسب مرجعًا على المخزن المؤقت الذي ينتمي إلى هذا الموتر .
الموتر
Tensor( DataType type )
ينشئ موترًا فارغًا من نوع البيانات المحدد.
على غرار الدالة Tensor() ، تُرجع هذه الدالة موترًا أحادي البعد، بدون عناصر، مع إرجاع الدالة IsInitialized() القيمة True. راجع توثيق الدالة 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( Tensor && other )
نقل المُنشئ.
بعد هذه المكالمة،
إجمالي البايتات
size_t TotalBytes() const
يُعيد هذا الأمر تقدير استخدام الذاكرة لهذا الموتر.
UnsafeCopyFromInternal
void UnsafeCopyFromInternal( const Tensor & other, DataType dtype, const TensorShape & shape )
يشبه BitcastFrom، لكن CHECK يفشل إذا لم يتم استيفاء أي من الشروط المسبقة.
تم إيقاف هذه الخاصية. استخدم BitcastFrom بدلاً منها وتحقق من الحالة المُعادة.
bit_casted_shaped
TTypes< T, NDIMS >::Tensor bit_casted_shaped( gtl::ArraySlice< int64 > new_sizes )
أعد بيانات الموتر إلى Eigen::Tensor بالشكل الجديد المحدد في new_sizes وقم بتحويلها إلى نوع بيانات جديد T
يُعد استخدام التحويل الثنائي مفيدًا لعمليات النقل والنسخ. والتحويل الثنائي المسموح به هو الفرق الوحيد عن shaped() .
bit_casted_shaped
TTypes< T, NDIMS >::ConstTensor bit_casted_shaped( gtl::ArraySlice< int64 > new_sizes ) const
أعد بيانات الموتر إلى Eigen::Tensor بالشكل الجديد المحدد في new_sizes وقم بتحويلها إلى نوع بيانات جديد T
يُعد استخدام التحويل الثنائي مفيدًا لعمليات النقل والنسخ. والتحويل الثنائي المسموح به هو الفرق الوحيد عن shaped() .
bit_casted_tensor
TTypes< T, NDIMS >::Tensor bit_casted_tensor()
أعد بيانات الموتر إلى Eigen::Tensor بنفس الحجم ولكن مع تحويل بتّي إلى نوع البيانات المحدد T
يُعدّ استخدام التحويل الثنائي مفيدًا لعمليات النقل والنسخ. ملاحظة: هذا يُشابه tensor() باستثناء السماح بالتحويل الثنائي.
bit_casted_tensor
TTypes< T, NDIMS >::ConstTensor bit_casted_tensor() const
أعد بيانات الموتر إلى Eigen::Tensor بنفس الحجم ولكن مع تحويل بتّي إلى نوع البيانات المحدد T
يُعدّ استخدام التحويل الثنائي مفيدًا لعمليات النقل والنسخ. ملاحظة: هذا يُشابه tensor() باستثناء السماح بالتحويل الثنائي.
حجم الأبعاد
int64 dim_size( int d ) const
أداة وصول ملائمة لشكل الموتر.
الأبعاد
int dims() const
أداة وصول ملائمة لشكل الموتر.
للاطلاع على جميع طرق الوصول إلى الشكل، راجع التعليقات الخاصة بالطرق ذات الصلة في TensorShape في tensor_shape.h .
نوع البيانات
DataType dtype() const
يُعيد نوع البيانات.
مستوي
TTypes< T >::Flat flat()
قم بإرجاع بيانات الموتر كـ Eigen::Tensor من نوع البيانات وشكل محدد.
تتيح لك هذه الطرق الوصول إلى البيانات بالأبعاد والأحجام التي تختارها. لا تحتاج إلى معرفة عدد أبعاد الموتر لاستدعائها. مع ذلك، فهي CHECK من تطابق النوع والأبعاد المطلوبة، وتُنشئ كائن Eigen::Tensor بنفس عدد عناصر الموتر.
مثال:
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<T, 2>({4, 15}); // CHECK fails, bad num elements: auto outer = my_ten.shaped<T, 2>({4, 8}); // 3D Eigen::Tensor 6 x 5 x 2: auto weird = my_ten.shaped<T, 3>({6, 5, 2}); // CHECK fails, type mismatch: auto bad = my_ten.flat ();
flat
TTypes< T >::ConstFlat flat() const
الأبعاد الداخلية المسطحة
TTypes< T, NDIMS >::Tensor flat_inner_dims()
الأبعاد الداخلية المسطحة
TTypes< T, NDIMS >::ConstTensor flat_inner_dims() const
أبعاد داخلية وخارجية مسطحة
TTypes< T, NDIMS >::Tensor flat_inner_outer_dims( int64 begin )
يقوم بإرجاع البيانات كـ Eigen::Tensor بأبعاد NDIMS، حيث يقوم بطي أبعاد Tensor 'begin' الأولى إلى البعد الأول من النتيجة وأبعاد Tensor الأخيرة dims() - 'begin' - NDIMS إلى البعد الأخير من النتيجة.
إذا كانت قيمة 'begin' أقل من الصفر، فسيتم إضافة الأبعاد البادئة (|'begin'|) بحجم 1. أما إذا كانت قيمة 'begin' + NDIMS أكبر من dims() ، فسيتم إضافة الأبعاد اللاحقة ('begin' + NDIMS - dims()) بحجم 1.
أبعاد داخلية وخارجية مسطحة
TTypes< T, NDIMS >::ConstTensor flat_inner_outer_dims( int64 begin ) const
الأبعاد الخارجية المسطحة
TTypes< T, NDIMS >::Tensor 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 )
عامل التعيين. يتشارك هذا الموتر في مساحة التخزين الأساسية لموتر آخر.
إعادة تفسير البعد الأخير
TTypes< T, NDIMS >::Tensor reinterpret_last_dimension()
قم بإرجاع بيانات الموتر إلى Eigen::Tensor مع تحويل عناصر البعد الأخير إلى عناصر مفردة من نوع أكبر.
على سبيل المثال، يُفيد هذا في النوى التي تُعامل موترات NCHW_VECT_C من نوع int8 كموترات NCHW من نوع int32. يجب أن يساوي حجم (T) حجم نوع العنصر الأصلي مضروبًا في عدد العناصر في البُعد الأخير الأصلي. يجب أن يكون NDIMS أقل بواحد من عدد الأبعاد الأصلي.
إعادة تفسير البعد الأخير
TTypes< T, NDIMS >::ConstTensor reinterpret_last_dimension() const
قم بإرجاع بيانات الموتر إلى Eigen::Tensor مع تحويل عناصر البعد الأخير إلى عناصر مفردة من نوع أكبر.
على سبيل المثال، يُفيد هذا في النوى التي تُعامل موترات NCHW_VECT_C من نوع int8 كموترات NCHW من نوع int32. يجب أن يساوي حجم (T) حجم نوع العنصر الأصلي مضروبًا في عدد العناصر في البُعد الأخير الأصلي. يجب أن يكون NDIMS أقل بواحد من عدد الأبعاد الأصلي.
كمية قياسية
TTypes< T >::Scalar 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 المُعاد إلى موقع ذاكرة على أجهزة لا يمكن لوحدة المعالجة المركزية الوصول إليه مباشرة.
ملاحظة: يتم حساب مراجع المخزن المؤقت للموتر الأساسي، لذا فإن عمر المحتويات التي تم تعيينها بواسطة StringPiece يتطابق مع عمر المخزن المؤقت؛ يجب على المستدعين التأكد من عدم تدمير المخزن المؤقت أثناء استخدام StringPiece .
يتطلب: DataTypeCanUseMemcpy(dtype()) .
unaligned_flat
TTypes< T >::UnalignedFlat unaligned_flat()
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()
قم بإرجاع بيانات الموتر كـ Eigen::Tensor بنوع وأحجام هذا الموتر.
استخدم هذه الطرق عندما تعرف نوع البيانات وعدد أبعاد الموتر، وتريد أن يكون حجم Eigen::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<T, 2>(); // 2D Eigen::Tensor, 3 x 5. auto vec = my_mat.vec (); // CHECK fails as my_mat is 2D. auto vec = my_mat.tensor<T, 3>(); // CHECK fails as my_mat is 2D. auto mat = my_mat.matrix ();// CHECK fails as type mismatch.
vec
TTypes< T >::ConstVec vec() const
نسخ ثابتة من جميع الطرق المذكورة أعلاه.
~موتر
~Tensor()
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2026-11-05 (حسب التوقيت العالمي المتفَّق عليه)