مصفوفة متعددة الأبعاد مكتوبة بشكل ثابت وعناصرها من النوع الموصوف بواسطة T.
مثيلات Tensor ليست آمنة للخيط.
تحذير: يجب تحرير الموارد التي يستهلكها كائن Tensor بشكل صريح عن طريق استدعاء طريقة close()
عندما لا تكون هناك حاجة للكائن. على سبيل المثال، باستخدام كتلة حاول مع الموارد:
try (Tensor t = Tensor.create(...)) {
doSomethingWith(t);
}
الأساليب العامة
منطقية | قيمة منطقية () تُرجع القيمة في موتر Boolean . |
بايت[] | قيمة البايت () تُرجع القيمة في موتر String عددي. |
فارغ | يغلق () حرر الموارد المرتبطة بـ Tensor. |
<U> ش | نسخ إلى (U dst) نسخ محتويات الموتر إلى dst وإرجاع dst . |
موتر ثابت <؟> | إنشاء (كائن كائن) ينشئ موترًا من كائن يتم فحص فئته لمعرفة نوع البيانات الأساسي. |
ثابت <T> الموتر <T> | إنشاء (نوع الفئة<T>، الشكل الطويل[]، بيانات ByteBuffer) قم بإنشاء Tensor من أي نوع باستخدام البيانات من المخزن المؤقت المحدد. |
موتر ثابت <مزدوج> | |
موتر ثابت <طويل> | |
موتر ثابت <عدد صحيح> | |
موتر ثابت <تعويم> | |
ثابت <T> الموتر <T> | إنشاء (كائن كائن، نوع الفئة<T>) إنشاء Tensor من كائن Java. |
نوع البيانات | نوع البيانات () إرجاع DataType للعناصر المخزنة في Tensor. |
مزدوج | قيمة مزدوجة () تُرجع القيمة في موتر Double عددي. |
<U> الموتر <U> | توقع (نوع الفئة<U>) تقوم بإرجاع كائن Tensor هذا بالنوع Tensor<U> . |
يطفو | القيمة العائمة () تُرجع القيمة في موتر Float عددي. |
كثافة العمليات | القيمة الصحيحة () تُرجع القيمة في موتر Integer صحيح. |
طويل | القيمة الطويلة () تُرجع القيمة في موتر Long عددي. |
كثافة العمليات | عدد بايت () إرجاع حجم بيانات الموتر بالبايت. |
كثافة العمليات | |
كثافة العمليات | عناصر رقمية () تُرجع عدد العناصر في العرض المسطح (1-D) للموتر. |
طويل[] | |
خيط | إلى سلسلة () تقوم بإرجاع سلسلة تصف نوع وشكل Tensor. |
فارغ | الكتابة إلى (LongBuffer التوقيت الصيفي) اكتب بيانات الموتر Long في المخزن المؤقت المحدد. |
فارغ | الكتابة إلى (DoubleBuffer التوقيت الصيفي) اكتب بيانات الموتر Double في المخزن المؤقت المحدد. |
فارغ | الكتابة إلى (IntBuffer التوقيت الصيفي) اكتب بيانات موتر Integer المحدد. |
فارغ | الكتابة إلى (ByteBuffer dst) اكتب بيانات الموتر في المخزن المؤقت المحدد. |
فارغ | الكتابة إلى (FloatBuffer dst) اكتب بيانات Float العائم في المخزن المؤقت المحدد. |
الطرق الموروثة
الأساليب العامة
القيمة المنطقية العامة ()
تُرجع القيمة في موتر Boolean
.
رميات
IllegalArgumentException | إذا كان Tensor لا يمثل عددًا منطقيًا. |
---|
البايت العام[] البايتالقيمة ()
تُرجع القيمة في موتر String
عددي.
رميات
IllegalArgumentException | إذا كان Tensor لا يمثل عددًا منطقيًا. |
---|
إغلاق الفراغ العام ()
حرر الموارد المرتبطة بـ Tensor.
تحذير: يجب استدعاء هذا لجميع الموترات التي لم يتم إنتاجها بواسطة عملية حريصة وإلا سيتم تسرب الذاكرة.
لم يعد كائن Tensor قابلاً للاستخدام بعد عمليات الإرجاع close
.
نسخة U عامة إلى (U dst)
نسخ محتويات الموتر إلى dst
وإرجاع dst
.
بالنسبة للموترات غير العددية، تقوم هذه الطريقة بنسخ محتويات الموتر الأساسي إلى مصفوفة Java. بالنسبة للموترات العددية، استخدم واحدًا من bytesValue()
أو floatValue()
أو doubleValue()
أو intValue()
أو longValue()
أو booleanValue()
بدلاً من ذلك. يجب أن يكون نوع وشكل dst
متوافقًا مع الموتر. على سبيل المثال:
int matrix[2][2] = { {1,2},{3,4} };
try(Tensor t = Tensor.create(matrix)) {
// Succeeds and prints "3"
int[][] copy = new int[2][2];
System.out.println(t.copyTo(copy)[1][0]);
// Throws IllegalArgumentException since the shape of dst does not match the shape of t.
int[][] dst = new int[4][1];
t.copyTo(dst);
}
حدود
التوقيت الصيفي |
---|
رميات
IllegalArgumentException | إذا كان الموتر عدديًا أو إذا كان dst غير متوافق مع الموتر (على سبيل المثال، أنواع أو أشكال بيانات غير متطابقة). |
---|
إنشاء Tensor ثابت عام <?> (Object obj)
ينشئ موترًا من كائن يتم فحص فئته لمعرفة نوع البيانات الأساسي.
حدود
obj |
---|
رميات
IllegalArgumentException | إذا كان obj غير متوافق مع نظام النوع TensorFlow. |
---|
إنشاء Tensor <T> ثابت عام (نوع Class<T>، شكل طويل []، بيانات ByteBuffer)
قم بإنشاء Tensor من أي نوع باستخدام البيانات من المخزن المؤقت المحدد.
ينشئ Tensor بالشكل المقدم من أي نوع حيث تم تشفير بيانات الموتر في data
وفقًا لمواصفات TensorFlow C API .
حدود
يكتب | نوع عنصر الموتر، ممثلًا ككائن فئة. |
---|---|
شكل | شكل الموتر. |
بيانات | مخزن مؤقت يحتوي على بيانات الموتر. |
رميات
IllegalArgumentException | إذا كان نوع بيانات الموتر أو الشكل غير متوافق مع المخزن المؤقت |
---|
إنشاء Tensor ثابت عام <Double> (شكل طويل []، بيانات DoubleBuffer)
قم بإنشاء موتر Double
باستخدام البيانات من المخزن المؤقت المحدد.
ينشئ موترًا بالشكل المحدد عن طريق نسخ العناصر من المخزن المؤقت (بدءًا من موضعه الحالي) إلى الموتر. على سبيل المثال، إذا كان shape = {2,3}
(الذي يمثل مصفوفة 2x3) فيجب أن يحتوي المخزن المؤقت على 6 عناصر متبقية، والتي سيتم استهلاكها بهذه الطريقة.
حدود
شكل | شكل الموتر. |
---|---|
بيانات | مخزن مؤقت يحتوي على بيانات الموتر. |
رميات
IllegalArgumentException | إذا كان شكل الموتر غير متوافق مع المخزن المؤقت |
---|
إنشاء Tensor ثابت عام <Long> (شكل طويل []، بيانات LongBuffer)
قم بإنشاء Tensor Long
باستخدام البيانات من المخزن المؤقت المحدد.
ينشئ موترًا بالشكل المحدد عن طريق نسخ العناصر من المخزن المؤقت (بدءًا من موضعه الحالي) إلى الموتر. على سبيل المثال، إذا كان shape = {2,3}
(الذي يمثل مصفوفة 2x3) فيجب أن يحتوي المخزن المؤقت على 6 عناصر متبقية، والتي سيتم استهلاكها بهذه الطريقة.
حدود
شكل | شكل الموتر. |
---|---|
بيانات | مخزن مؤقت يحتوي على بيانات الموتر. |
رميات
IllegalArgumentException | إذا كان شكل الموتر غير متوافق مع المخزن المؤقت |
---|
إنشاء Tensor ثابت عام <Integer> (شكل طويل []، بيانات IntBuffer)
قم بإنشاء موتر Integer
باستخدام البيانات من المخزن المؤقت المحدد.
ينشئ موترًا بالشكل المحدد عن طريق نسخ العناصر من المخزن المؤقت (بدءًا من موضعه الحالي) إلى الموتر. على سبيل المثال، إذا كان shape = {2,3}
(الذي يمثل مصفوفة 2x3) فيجب أن يحتوي المخزن المؤقت على 6 عناصر متبقية، والتي سيتم استهلاكها بهذه الطريقة.
حدود
شكل | شكل الموتر. |
---|---|
بيانات | مخزن مؤقت يحتوي على بيانات الموتر. |
رميات
IllegalArgumentException | إذا كان شكل الموتر غير متوافق مع المخزن المؤقت |
---|
إنشاء Tensor <Float> ثابت عام (شكل طويل []، بيانات FloatBuffer)
قم بإنشاء Float
Tensor باستخدام البيانات من المخزن المؤقت المحدد.
ينشئ موترًا بالشكل المحدد عن طريق نسخ العناصر من المخزن المؤقت (بدءًا من موضعه الحالي) إلى الموتر. على سبيل المثال، إذا كان shape = {2,3}
(الذي يمثل مصفوفة 2x3) فيجب أن يحتوي المخزن المؤقت على 6 عناصر متبقية، والتي سيتم استهلاكها بهذه الطريقة.
حدود
شكل | شكل الموتر. |
---|---|
بيانات | مخزن مؤقت يحتوي على بيانات الموتر. |
رميات
IllegalArgumentException | إذا كان شكل الموتر غير متوافق مع المخزن المؤقت |
---|
إنشاء Tensor <T> ثابت عام (Object obj، Class<T> type)
إنشاء Tensor من كائن Java.
Tensor
عبارة عن مجموعة متعددة الأبعاد من العناصر لمجموعة محدودة من الأنواع. لا يمكن تحويل جميع كائنات Java إلى Tensor
. على وجه الخصوص، يجب أن تكون الوسيطة obj
إما بدائية (float، double، int، long، boolean، byte) أو مصفوفة متعددة الأبعاد لواحدة من تلك البدائيات. يحدد type
الوسيطة كيفية تفسير الوسيطة الأولى كنوع TensorFlow. على سبيل المثال:
// Valid: A 64-bit integer scalar.
Tensor<Long> s = Tensor.create(42L, Long.class);
// Valid: A 3x2 matrix of floats.
float[][] matrix = new float[3][2];
Tensor<Float> m = Tensor.create(matrix, Float.class);
// Invalid: Will throw an IllegalArgumentException as an arbitrary Object
// does not fit into the TensorFlow type system.
Tensor<?> o = Tensor.create(new Object())
// Invalid: Will throw an IllegalArgumentException since there are
// a differing number of elements in each row of this 2-D array.
int[][] twoD = new int[2][];
twoD[0] = new int[1];
twoD[1] = new int[2];
Tensor<Integer> x = Tensor.create(twoD, Integer.class);
String
عبارة عن صفائف متعددة الأبعاد لتسلسلات بايت عشوائية، لذا يمكن تهيئتها من صفائف عناصر byte[]
. على سبيل المثال:// Valid: A String tensor.
Tensor<String> s = Tensor.create(new byte[]{1, 2, 3}, String.class);
// Java Strings will need to be encoded into a byte-sequence.
String mystring = "foo";
Tensor<String> s = Tensor.create(mystring.getBytes("UTF-8"), String.class);
// Valid: Matrix of String tensors.
// Each element might have a different length.
byte[][][] matrix = new byte[2][2][];
matrix[0][0] = "this".getBytes("UTF-8");
matrix[0][1] = "is".getBytes("UTF-8");
matrix[1][0] = "a".getBytes("UTF-8");
matrix[1][1] = "matrix".getBytes("UTF-8");
Tensor<String> m = Tensor.create(matrix, String.class);
حدود
obj | الكائن المراد تحويله إلى Tensor<T> . لاحظ أنه لا يتم التحقق من توافقه مع النوع T بواسطة نظام الكتابة. لإنشاء موترات بطريقة آمنة، استخدم Tensors . |
---|---|
يكتب | كائن الفئة الذي يمثل النوع T. |
رميات
IllegalArgumentException | إذا كان obj غير متوافق مع نظام النوع TensorFlow. |
---|
قيمة مزدوجة مزدوجة عامة ()
تُرجع القيمة في موتر Double
عددي.
رميات
IllegalArgumentException | إذا كان Tensor لا يمثل عددا مزدوجا. |
---|
يتوقع Tensor <U> العام (نوع الفئة <U>)
تقوم بإرجاع كائن Tensor هذا بالنوع Tensor<U>
. هذه الطريقة مفيدة عند إعطاء قيمة من النوع Tensor<?>
.
حدود
يكتب | أي صفيف (غير فارغ) من النوع الصحيح. |
---|
رميات
IllegalArgumentException | إذا كان نوع البيانات الفعلي لهذا الكائن لا يتطابق مع النوع U . |
---|
تعويم عام floatValue ()
تُرجع القيمة في موتر Float
عددي.
رميات
IllegalArgumentException | إذا كان Tensor لا يمثل العددية العائمة. |
---|
كثافة العمليات العامة ()
تُرجع القيمة في موتر Integer
صحيح.
رميات
IllegalArgumentException | إذا كان Tensor لا يمثل عددًا صحيحًا. |
---|
القيمة الطويلة العامة ()
تُرجع القيمة في موتر Long
عددي.
رميات
IllegalArgumentException | إذا كان Tensor لا يمثل عددًا طويلًا. |
---|
عدد صحيح عام ()
إرجاع حجم بيانات الموتر بالبايت.
الأبعاد الداخلية العامة ()
إرجاع عدد الأبعاد (يشار إليها أحيانًا بالرتبة ) للموتر.
سيكون 0 للعدد، 1 للمتجه، 2 للمصفوفة، 3 للموتر ثلاثي الأبعاد وما إلى ذلك.
العناصر العددية العامة ()
تُرجع عدد العناصر في العرض المسطح (1-D) للموتر.
الشكل العام الطويل[] ()
إرجاع شكل Tensor، أي أحجام كل بعد.
المرتجعات
- مصفوفة يكون فيها العنصر i هو حجم البعد i للموتر.
سلسلة عامة إلى سلسلة ()
تقوم بإرجاع سلسلة تصف نوع وشكل Tensor.
الكتابة إلى الفراغ العام (LongBuffer dst)
اكتب بيانات الموتر Long
في المخزن المؤقت المحدد.
نسخ عناصر numElements()
إلى المخزن المؤقت.
حدود
التوقيت الصيفي | المخزن المؤقت الوجهة |
---|
رميات
BufferOverflowException | إذا لم تكن هناك مساحة كافية في المخزن المؤقت المحدد للبيانات الموجودة في هذا الموتر |
---|---|
IllegalArgumentException | إذا لم يكن نوع البيانات الموتر Long |
الكتابة إلى الفراغ العام (DoubleBuffer dst)
اكتب بيانات الموتر Double
في المخزن المؤقت المحدد.
نسخ عناصر numElements()
إلى المخزن المؤقت.
حدود
التوقيت الصيفي | المخزن المؤقت الوجهة |
---|
رميات
BufferOverflowException | إذا لم تكن هناك مساحة كافية في المخزن المؤقت المحدد للبيانات الموجودة في هذا الموتر |
---|---|
IllegalArgumentException | إذا كان نوع البيانات الموتر ليس Double |
الكتابة إلى الفراغ العام (IntBuffer dst)
الكتابة إلى الفراغ العام (ByteBuffer dst)
اكتب بيانات الموتر في المخزن المؤقت المحدد.
نسخ بايتات numBytes()
إلى المخزن المؤقت بترتيب البايت الأصلي للأنواع البدائية.
حدود
التوقيت الصيفي | المخزن المؤقت الوجهة |
---|
رميات
BufferOverflowException | إذا لم تكن هناك مساحة كافية في المخزن المؤقت المحدد للبيانات الموجودة في هذا الموتر |
---|
الكتابة إلى الفراغ العام (FloatBuffer dst)
اكتب بيانات Float
العائم في المخزن المؤقت المحدد.
نسخ عناصر numElements()
إلى المخزن المؤقت.
حدود
التوقيت الصيفي | المخزن المؤقت الوجهة |
---|
رميات
BufferOverflowException | إذا لم تكن هناك مساحة كافية في المخزن المؤقت المحدد للبيانات الموجودة في هذا الموتر |
---|---|
IllegalArgumentException | إذا كان نوع البيانات الموتر ليس Float |