Tensor

שיעור הגמר הציבורי טנסור

מערך רב מימדי מוקלד סטטי שהאלמנטים שלו הם מסוג המתואר על ידי T.

מופעים של Tensor אינם בטוחים לחוט.

אזהרה: יש לשחרר במפורש משאבים הנצרכים על ידי אובייקט Tensor על ידי הפעלת שיטת close() כאשר האובייקט אינו נחוץ עוד. לדוגמה, שימוש בגוש נסה עם משאבים:

try (Tensor t = Tensor.create(...)) {
   doSomethingWith(t);
 
 }

שיטות ציבוריות

בוליאני
BooleanValue ()
מחזירה את הערך בטנזור Boolean .
בייט[]
bytesValue ()
מחזירה את הערך בטנזור String סקלרית.
בָּטֵל
סגור ()
שחרר משאבים הקשורים לטנזור.
<U> U
copyTo (U dst)
מעתיק את תוכן הטנזור ל- dst ומחזיר dst .
טנסור סטטי <?>
ליצור (Object obj)
יוצר טנזור מאובייקט שהמחלקה שלו נבדקת כדי להבין מה צריך להיות סוג הנתונים הבסיסי.
סטטי <T> טנסור <T>
ליצור (סוג Class<T>, צורה ארוכה[], נתוני ByteBuffer)
צור Tensor מכל סוג עם נתונים מהמאגר הנתון.
טנסור סטטי <כפול>
צור (צורה ארוכה[], נתוני DoubleBuffer)
צור טנסור Double עם נתונים מהמאגר הנתון.
טנסור סטטי <Long>
צור (צורה ארוכה[], נתוני LongBuffer)
צור טנסור Long עם נתונים מהמאגר הנתון.
טנסור סטטי <Integer>
צור (צורה ארוכה[], נתוני IntBuffer)
צור Tensor Integer עם נתונים מהמאגר הנתון.
טנסור סטטי <Float>
צור (צורה ארוכה[], נתוני FloatBuffer)
צור Tensor Float עם נתונים מהמאגר הנתון.
סטטי <T> טנסור <T>
ליצור (Object obj, סוג Class<T>)
יוצר Tensor מאובייקט Java.
DataType
dataType ()
מחזירה את DataType של אלמנטים המאוחסנים ב-Tensor.
לְהַכפִּיל
doubleValue ()
מחזירה את הערך בטנזור Double סקלרי.
<U> טנסור <U>
צפוי (סוג מחלקה<U>)
מחזירה אובייקט Tensor זה עם הסוג Tensor<U> .
לָצוּף
floatValue ()
מחזירה את הערך בטנזור Float סקלרי.
int
intValue ()
מחזירה את הערך בטנזור של מספר שלם Integer .
אָרוֹך
longValue ()
מחזירה את הערך בטנזור Long סקלרי.
int
numBytes ()
מחזירה את הגודל, בבתים, של נתוני הטנזור.
int
numDimensions ()
מחזירה את מספר הממדים (המכונה לפעמים דרגה ) של הטנזור.
int
numElements ()
מחזירה את מספר האלמנטים בתצוגה שטוחה (1-D) של הטנזור.
אָרוֹך[]
צורה ()
מחזירה את צורת הטנסור, כלומר, הגדלים של כל מימד.
חוּט
toString ()
מחזירה מחרוזת המתארת ​​את הסוג והצורה של הטנסור.
בָּטֵל
writeTo (LongBuffer dst)
כתוב את הנתונים של טנזור Long לתוך המאגר הנתון.
בָּטֵל
writeTo (DoubleBuffer dst)
כתוב את הנתונים של טנזור Double למאגר הנתון.
בָּטֵל
writeTo (IntBuffer dst)
כתוב את הנתונים של טנזור Integer לתוך המאגר הנתון.
בָּטֵל
writeTo (ByteBuffer dst)
כתוב את נתוני הטנזור לתוך המאגר הנתון.
בָּטֵל
writeTo (FloatBuffer dst)
כתוב את הנתונים של טנסור Float לתוך המאגר הנתון.

שיטות בירושה

שיטות ציבוריות

ערך בוליאני ציבורי בוליאני ()

מחזירה את הערך בטנזור Boolean .

זורק
חריג טיעון לא חוקי אם הטנזור אינו מייצג סקלר בוליאני.

byte public[] bytesValue ()

מחזירה את הערך בטנזור String סקלרית.

זורק
חריג טיעון לא חוקי אם הטנזור אינו מייצג סקלר בוליאני.

ריק ציבורי סגור ()

שחרר משאבים הקשורים לטנזור.

אזהרה: יש להפעיל זאת עבור כל הטנזורים שלא יוצרו בפעולה נלהבת או שזיכרון ידלוף.

אובייקט Tensor אינו שמיש עוד לאחר החזרות close .

public U copyTo (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);
 }
 }

זורק
חריג טיעון לא חוקי אם הטנזור הוא סקלרי או אם dst אינו תואם לטנזור (לדוגמה, סוגי נתונים או צורות לא תואמים).

ציבורי סטטי Tensor <?> create (Object obj)

יוצר טנזור מאובייקט שהמחלקה שלו נבדקת כדי להבין מה צריך להיות סוג הנתונים הבסיסי.

זורק
חריג טיעון לא חוקי אם obj אינו תואם למערכת מסוג TensorFlow.

יצירת Tensor סטטי ציבורית <T> (סוג Class<T>, צורה ארוכה[], נתוני ByteBuffer)

צור Tensor מכל סוג עם נתונים מהמאגר הנתון.

יוצר Tensor עם הצורה שסופקה מכל סוג שבו נתוני הטנזור הקודדו data לפי המפרט של TensorFlow C API .

פרמטרים
סוּג סוג אלמנט הטנזור, המיוצג כאובייקט מחלקה.
צוּרָה צורת הטנזור.
נְתוּנִים מאגר המכיל את נתוני הטנזור.
זורק
חריג טיעון לא חוקי אם סוג הנתונים או הצורה של הטנזור אינם תואמים למאגר

יצירת Tensor סטטית ציבורית <Double> (צורה ארוכה[], נתוני DoubleBuffer)

צור טנסור Double עם נתונים מהמאגר הנתון.

יוצר טנסור עם הצורה הנתונה על ידי העתקת אלמנטים מהמאגר (החל מהמיקום הנוכחי שלו) אל הטנזור. לדוגמה, אם shape = {2,3 } (המייצגת מטריצה ​​של 2x3), אז למאגר חייבות להיות 6 אלמנטים שנותרו, שיצרכו בשיטה זו.

פרמטרים
צוּרָה צורת הטנזור.
נְתוּנִים מאגר המכיל את נתוני הטנזור.
זורק
חריג טיעון לא חוקי אם צורת הטנזור אינה תואמת למאגר

יצירת Tensor סטטית ציבורית <Long> (צורה ארוכה[], נתוני LongBuffer)

צור טנסור Long עם נתונים מהמאגר הנתון.

יוצר טנסור עם הצורה הנתונה על ידי העתקת אלמנטים מהמאגר (החל מהמיקום הנוכחי שלו) אל הטנזור. לדוגמה, אם shape = {2,3 } (המייצגת מטריצה ​​של 2x3), אז למאגר חייבות להיות 6 אלמנטים שנותרו, שיצרכו בשיטה זו.

פרמטרים
צוּרָה צורת הטנזור.
נְתוּנִים מאגר המכיל את נתוני הטנזור.
זורק
חריג טיעון לא חוקי אם צורת הטנזור אינה תואמת למאגר

יצירת טנסור סטטית ציבורית <Integer> (צורה ארוכה[], נתוני IntBuffer)

צור Tensor Integer עם נתונים מהמאגר הנתון.

יוצר טנסור עם הצורה הנתונה על ידי העתקת אלמנטים מהמאגר (החל מהמיקום הנוכחי שלו) אל הטנזור. לדוגמה, אם shape = {2,3 } (המייצגת מטריצה ​​של 2x3), אז למאגר חייבות להיות 6 אלמנטים שנותרו, שיצרכו בשיטה זו.

פרמטרים
צוּרָה צורת הטנזור.
נְתוּנִים מאגר המכיל את נתוני הטנזור.
זורק
חריג טיעון לא חוקי אם צורת הטנזור אינה תואמת למאגר

יצירת Tensor סטטי ציבורית <Float> (צורה ארוכה[], נתוני FloatBuffer)

צור Tensor Float עם נתונים מהמאגר הנתון.

יוצר טנסור עם הצורה הנתונה על ידי העתקת אלמנטים מהמאגר (החל מהמיקום הנוכחי שלו) אל הטנזור. לדוגמה, אם shape = {2,3 } (המייצגת מטריצה ​​של 2x3), אז למאגר חייבות להיות 6 אלמנטים שנותרו, שיצרכו בשיטה זו.

פרמטרים
צוּרָה צורת הטנזור.
נְתוּנִים מאגר המכיל את נתוני הטנזור.
זורק
חריג טיעון לא חוקי אם צורת הטנזור אינה תואמת למאגר

יצירת טנסור סטטי ציבורית <T> (Object obj, סוג Class<T>)

יוצר 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);
 
Tensors מסוג 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 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 m = Tensor.create(matrix, String.class);
 }

פרמטרים
obj האובייקט להמרה ל- Tensor<T> . שימו לב שהאם הוא תואם לסוג T לא נבדק על ידי מערכת הטיפוס. ליצירת טנסורים בטוחה בסוג, השתמש Tensors .
סוּג אובייקט המחלקה המייצג את הסוג T.
זורק
חריג טיעון לא חוקי אם obj אינו תואם למערכת מסוג TensorFlow.

public DataType dataType ()

מחזירה את DataType של אלמנטים המאוחסנים ב-Tensor.

כפול כפול ציבורי ערך ()

מחזירה את הערך בטנזור Double סקלרי.

זורק
חריג טיעון לא חוקי אם הטנזור אינו מייצג סקלר כפול.

טנסור ציבורי <U> צפוי (סוג <U>)

מחזיר אובייקט Tensor זה עם הסוג Tensor<U> . שיטה זו שימושית כאשר ניתן ערך מסוג Tensor<?> .

פרמטרים
סוּג כל מערך (שאיננו ריק) מהסוג הנכון.
זורק
חריג טיעון לא חוקי אם סוג הנתונים בפועל של אובייקט זה אינו תואם לסוג U .

צף ציבורי floatValue ()

מחזירה את הערך בטנזור Float סקלרי.

זורק
חריג טיעון לא חוקי אם הטנסור אינו מייצג סקלאר צף.

public int intValue ()

מחזירה את הערך בטנזור של מספר שלם Integer .

זורק
חריג טיעון לא חוקי אם הטנסור אינו מייצג אינט סקלאר.

ציבורי ארוך ארוך ערך ()

מחזירה את הערך בטנזור Long סקלרי.

זורק
חריג טיעון לא חוקי אם הטנזור אינו מייצג סקלר ארוך.

public int numBytes ()

מחזירה את הגודל, בבתים, של נתוני הטנזור.

public int numDimensions ()

מחזירה את מספר הממדים (המכונה לפעמים דרגה ) של הטנזור.

יהיה 0 עבור סקלר, 1 עבור וקטור, 2 עבור מטריצה, 3 עבור טנזור תלת מימדי וכו'.

public int numElements ()

מחזירה את מספר האלמנטים בתצוגה שטוחה (1-D) של הטנזור.

צורה ציבורית ארוכה[] ()

מחזירה את צורת הטנסור, כלומר, הגדלים של כל מימד.

מחזיר
  • מערך שבו האלמנט i-th הוא גודל הממד ה-i של הטנזור.

מחרוזת ציבורית למחרוזת ()

מחזירה מחרוזת המתארת ​​את הסוג והצורה של הטנזור.

public void writeTo (LongBuffer dst)

כתוב את הנתונים של טנזור Long למאגר הנתון.

מעתיק רכיבי numElements() למאגר.

פרמטרים
dst מאגר היעד
זורק
BufferOverflowException אם אין מספיק מקום במאגר הנתון עבור הנתונים בטנזור זה
חריג טיעון לא חוקי אם סוג הנתונים של הטנזור אינו Long

public void writeTo (DoubleBuffer dst)

כתוב את הנתונים של טנזור Double למאגר הנתון.

מעתיק רכיבי numElements() למאגר.

פרמטרים
dst מאגר היעד
זורק
BufferOverflowException אם אין מספיק מקום במאגר הנתון עבור הנתונים בטנזור זה
חריג טיעון לא חוקי אם סוג הנתונים של הטנזור אינו Double

public void writeTo (IntBuffer dst)

כתוב את הנתונים של טנזור Integer לתוך המאגר הנתון.

מעתיק רכיבי numElements() למאגר.

פרמטרים
dst מאגר היעד
זורק
BufferOverflowException אם אין מספיק מקום במאגר הנתון עבור הנתונים בטנזור זה
חריג טיעון לא חוקי אם סוג נתוני הטנזור אינו Integer

public void writeTo (ByteBuffer dst)

כתוב את נתוני הטנזור לתוך המאגר הנתון.

מעתיק בתים numBytes() למאגר בסדר בתים מקורי עבור טיפוסים פרימיטיביים.

פרמטרים
dst מאגר היעד
זורק
BufferOverflowException אם אין מספיק מקום במאגר הנתון עבור הנתונים בטנזור זה

public void writeTo (FloatBuffer dst)

כתוב את הנתונים של טנסור Float לתוך המאגר הנתון.

מעתיק רכיבי numElements() למאגר.

פרמטרים
dst מאגר היעד
זורק
BufferOverflowException אם אין מספיק מקום במאגר הנתון עבור הנתונים בטנזור זה
חריג טיעון לא חוקי אם סוג הנתונים של הטנזור אינו Float