Scope

Ruang Lingkup kelas akhir publik

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

Scope adalah wadah untuk properti umum yang diterapkan pada Operasi TensorFlow. Kode pengguna normal menginisialisasi Scope dan menyediakannya ke kelas bangunan Operasi. Misalnya:

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

Kelas bangunan Operasi memperoleh Cakupan, dan menggunakannya untuk mengatur 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()
      ...
   }
 }
 

Hirarki cakupan:

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

Contoh penggunaan Constant yang 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 thread.

Konstruktor Publik

Cakupan ( Lingkungan Eksekusi )
Buat cakupan tingkat atas baru.

Metode Publik

Pembangun Operasi
applyControlDependencies (pembuat OperationBuilder )
Menambahkan setiap Operan di controlDependencies sebagai input kontrol ke pembuat yang disediakan.
Lingkungan Eksekusi
env ()
Mengembalikan lingkungan eksekusi yang digunakan oleh cakupan ini.
Rangkaian
makeOpName (String nama default)
Buat nama unik untuk operator, gunakan nama default yang disediakan jika perlu.
Cakupan
withControlDependencies (kontrol< Operand <?>> yang dapat diubah)
Mengembalikan cakupan baru di mana operasi yang ditambahkan akan memiliki dependensi kontrol yang disediakan.
Cakupan
denganNama (String opName)
Mengembalikan cakupan baru yang menggunakan nama yang diberikan untuk sebuah operasi.
Cakupan
denganSubScope (String childScopeName)
Mengembalikan cakupan baru di mana operasi yang ditambahkan akan memiliki awalan nama yang disediakan.

Metode Warisan

Konstruktor Publik

Lingkup publik ( Environment ExecutionEnv )

Buat cakupan tingkat atas baru.

Parameter
env Lingkungan eksekusi yang digunakan oleh ruang lingkup.

Metode Publik

OperationBuilder publik applyControlDependencies (pembuat OperationBuilder )

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

Parameter
pembangun OperationBuilder untuk menambahkan input kontrol

Lingkungan Eksekusi publik ()

Mengembalikan lingkungan eksekusi yang digunakan oleh cakupan ini.

String publik makeOpName (String nama default)

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

Ini biasanya hanya dipanggil oleh kelas gedung operator.

Metode ini menghasilkan nama unik, sesuai dengan lingkup nama yang dikontrol oleh instance ini. Kode bangunan operator pada umumnya mungkin terlihat seperti

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

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

Parameter
Nama default nama untuk operator yang mendasarinya.
Kembali
  • nama unik untuk operator.
Melempar
Pengecualian Argumen Ilegal jika nama default tidak valid.

Lingkup publik denganControlDependencies (kontrol< Operand <?>> yang dapat diubah)

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

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

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

Lingkup publik dengan Nama (String opName)

Mengembalikan cakupan baru yang menggunakan nama yang diberikan untuk sebuah operasi.

Operasi yang dibuat dalam lingkup ini akan memiliki nama dalam bentuk name/opName[_suffix] . Hal 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
nama op nama untuk operator dalam cakupan yang dikembalikan
Kembali
  • Cakupan baru yang menggunakan opName untuk operasi.
Melempar
Pengecualian Argumen Ilegal jika namanya tidak valid

Lingkup publik denganSubScope (String childScopeName)

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

Operasi yang dibuat dengan cakupan ini akan memiliki name/childScopeName/ sebagai awalan. Nama sebenarnya akan unik dalam cakupan 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
nama lingkup anak nama untuk cakupan anak baru
Kembali
  • subskop baru
Melempar
Pengecualian Argumen Ilegal jika namanya tidak valid