Cakupan

Ruang lingkup kelas akhir publik

Mengelola grup properti terkait saat membuat Operasi Tensorflow, seperti awalan nama umum.

Scope adalah container untuk properti umum yang diterapkan ke Operasi TensorFlow. Kode pengguna normal menginisialisasi Scope dan memberikannya ke kelas bangunan Operation. Misalnya:

Scope scope = new Scope(graph);
 Constant c = Constant.create(scope, 42);
 

Class bangunan Operation memperoleh Scope, dan menggunakannya untuk menyetel properti pada operasi Tensorflow yang mendasarinya. Misalnya:

// An operator class that adds a constant.
 public class Constant {
   public static Constant create(Scope scope, ...) {
      scope.graph().opBuilder(
        "Const", scope.makeOpName("Const"))
        .setAttr(...)
        .build()
      ...
   
 }
 }

Hierarki lingkup:

A Scope menyediakan berbagai metode with() yang membuat cakupan baru. Cakupan baru biasanya memiliki satu properti yang diubah sementara properti lain diwarisi dari cakupan induk.

Contoh penggunaan Constant diimplementasikan seperti sebelumnya:

Scope root = new Scope(graph);

 // The linear subscope will generate names like linear/...
 Scope linear = Scope.withSubScope("linear");

 // This op name will be "linear/W"
 Constant.create(linear.withName("W"), ...);

 // This op will be "linear/Const", using the default
 // name provided by Constant
 Constant.create(linear, ...);

 // This op will be "linear/Const_1", using the default
 // name provided by Constant and making it unique within
 // this scope
 Constant.create(linear, ...);
 

Objek cakupan tidak aman untuk benang.

Pembangun Umum

Scope ( ExecutionEnvironment env)
Buat cakupan tingkat atas baru.

Metode Umum

OperationBuilder
applyControlDependencies (pembangun OperationBuilder )
Menambahkan setiap Operand di controlDependencies sebagai input kontrol ke pembuat yang disediakan.
EksekusiEnvironment
env ()
Mengembalikan lingkungan eksekusi yang digunakan oleh lingkup ini.
Tali
makeOpName (String defaultName )
Buat nama unik untuk operator, menggunakan default yang disediakan jika perlu.
Cakupan
withControlDependencies (Iterable < Operand <? >> kontrol)
Mengembalikan cakupan baru di mana operasi yang ditambahkan akan memiliki dependensi kontrol yang disediakan.
Cakupan
withName (String opName)
Kembalikan cakupan baru yang menggunakan nama yang diberikan untuk operasi.
Cakupan
withSubScope (String childScopeName)
Mengembalikan cakupan baru di mana operasi yang ditambahkan akan memiliki awalan nama yang diberikan.

Metode Warisan

Pembangun Umum

Public Scope ( ExecutionEnvironment env)

Buat cakupan tingkat atas baru.

Parameter
env Lingkungan eksekusi yang digunakan oleh ruang lingkup.

Metode Umum

publik OperationBuilder applyControlDependencies (pembangun OperationBuilder )

Menambahkan setiap Operand di controlDependencies sebagai input kontrol ke pembuat yang disediakan.

Parameter
pembangun OperationBuilder untuk menambahkan input kontrol

Eksekusi publikEnvironment env ()

Mengembalikan lingkungan eksekusi yang digunakan oleh lingkup ini.

public String makeOpName (String defaultName )

Buat nama unik untuk operator, menggunakan default yang disediakan jika perlu.

Ini biasanya hanya dipanggil oleh kelas gedung operator.

Metode ini menghasilkan nama unik, sesuai untuk cakupan nama yang dikontrol oleh instance ini. Kode gedung operator umum mungkin terlihat seperti

scope.env().opBuilder("Const", scope.makeOpName("Const"))...
 

Catatan: jika Anda menyediakan kelas gedung operator gabungan (yaitu, kelas yang membuat sekumpulan operasi terkait dengan memanggil kode gedung operator lain), nama yang diberikan akan bertindak sebagai subskop untuk semua operator yang mendasarinya.

Parameter
defaultName nama untuk operator yang mendasari.
Kembali
  • nama unik untuk operator.
Melempar
IllegalArgumentException jika nama default tidak valid.

public Scope withControlDependencies (Iterable < Operand <? >> kontrol)

Mengembalikan cakupan baru di mana operasi yang ditambahkan akan memiliki dependensi kontrol yang disediakan.

Operasi yang dibuat dengan cakupan ini akan memiliki tepi kontrol dari setiap kontrol yang disediakan. Semua properti lainnya diwarisi dari cakupan saat ini.

Parameter
kontrol dependensi kontrol untuk operasi yang dibuat dengan cakupan yang dikembalikan
Kembali
  • lingkup baru dengan dependensi kontrol yang disediakan

public Scope withName (String opName)

Kembalikan cakupan baru yang menggunakan nama yang diberikan untuk operasi.

Operasi yang dibuat dalam cakupan ini akan memiliki nama dalam bentuk name/opName[_suffix] . Ini memungkinkan Anda memberi nama operator tertentu dengan lebih bermakna.

Nama harus cocok dengan ekspresi reguler [A-Za-z0-9.][A-Za-z0-9_.\-]*

Parameter
opName nama untuk operator di lingkup yang dikembalikan
Kembali
  • Scope baru yang menggunakan opName untuk operasi.
Melempar
IllegalArgumentException jika namanya tidak valid

Public Scope withSubScope (String childScopeName)

Mengembalikan cakupan baru di mana operasi yang ditambahkan akan memiliki awalan nama yang diberikan.

Operasi yang dibuat dengan cakupan ini akan memiliki name/childScopeName/ sebagai awalan. Nama sebenarnya akan unik dalam lingkup yang dikembalikan. Semua properti lainnya diwarisi dari cakupan saat ini.

Nama cakupan anak harus cocok dengan ekspresi reguler [A-Za-z0-9.][A-Za-z0-9_.\-]*

Parameter
childScopeName nama untuk cakupan anak baru
Kembali
  • subskop baru
Melempar
IllegalArgumentException jika namanya tidak valid