Ortak ad öneki gibi Tensorflow İşlemleri oluştururken ilgili özellik gruplarını yönetir.
Scope , TensorFlow Ops'a uygulanan ortak özelliklere yönelik bir kapsayıcıdır. Normal kullanıcı kodu bir Scope başlatır ve bunu Operasyon oluşturma sınıflarına sağlar. Örneğin:
Scope scope = new Scope(graph);
Constant c = Constant.create(scope, 42);
Bir Operasyon oluşturma sınıfı bir Kapsam edinir ve bunu, temeldeki Tensorflow operasyonlarındaki özellikleri ayarlamak için kullanır. Örneğin:
// 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()
...
}
}Kapsam hiyerarşisi:
Scope yeni bir kapsam oluşturan çeşitli with() yöntemleri sağlar. Yeni kapsamda genellikle bir özellik değiştirilirken diğer özellikler üst kapsamdan devralınır.
Daha önce olduğu gibi uygulanan Constant kullanan bir örnek:
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, ...);
Kapsam nesneleri iş parçacığı açısından güvenli değildir .
Kamu İnşaatçıları
Genel Yöntemler
| Operasyon Oluşturucu | uygula ( OperationBuilder oluşturucusu) Cihaz spesifikasyonunu uygular ve controlDependements içindeki her İşleneni, sağlanan oluşturucuya bir kontrol girişi olarak ekler. |
| Operasyon Oluşturucu | ApplyControlDependencing'ler ( OperationBuilder oluşturucusu) controlDependements içindeki her İşleneni, sağlanan oluşturucuya bir kontrol girişi olarak ekler. |
| Yürütme Ortamı | env () Bu kapsam tarafından kullanılan yürütme ortamını döndürür. |
| Sicim | getDeviceString () Kapsamdan cihaz dizesini döndürür. |
| Sicim | makeOpName (Dize varsayılanAdı) Gerekirse sağlanan varsayılanı kullanarak bir operatör için benzersiz bir ad oluşturun. |
| Kapsam | withControlDependencing'ler (Yinelenebilir< Op > kontroller) Eklenen işlemlerin sağlanan denetim bağımlılıklarına sahip olacağı yeni bir kapsam döndürür. |
| Kapsam | withDevice ( DeviceSpec DeviceSpec) Bir operasyon için sağlanan cihaz spesifikasyonunu kullanan yeni bir kapsam döndürün. |
| Kapsam | withName (Dize opName) Bir işlem için sağlanan adı kullanan yeni bir kapsam döndürün. |
| Kapsam | withNameAsSubScope (Dize varsayılanAd) Eklenen işlemlere bu kapsamın işlem adının ( withName(String) tarafından ayarlanır) veya ayarlanmadıysa verilen varsayılanın ön ekinin ekleneceği yeni bir kapsamı döndürür. |
| Kapsam | withSubScope (Dize childScopeName) Eklenen işlemlerin belirtilen ad önekine sahip olacağı yeni bir kapsam döndürür. |
Kalıtsal Yöntemler
Kamu İnşaatçıları
genel Kapsam ( ExecutionEnvironment env)
Yeni bir üst düzey kapsam oluşturun.
Parametreler
| çevre | Kapsam tarafından kullanılan yürütme ortamı. |
|---|
Genel Yöntemler
genel OperationBuilder uygulaması ( OperationBuilder oluşturucusu)
Cihaz spesifikasyonunu uygular ve controlDependements içindeki her İşleneni, sağlanan oluşturucuya bir kontrol girişi olarak ekler.
Parametreler
| inşaatçı | OperationBuilder'a kontrol girişleri ve cihaz özellikleri eklemek için |
|---|
public OperationBuilder applicationControlDependencing'ler ( OperationBuilder oluşturucusu)
ControlDependencing'lerdeki her İşleneni, sağlanan oluşturucuya bir kontrol girişi olarak ekler.
Parametreler
| inşaatçı | OperationBuilder'a kontrol girişleri eklemek için |
|---|
genel Dize getDeviceString ()
Kapsamdan cihaz dizesini döndürür.
public String makeOpName (Dize defaultName)
Gerekirse sağlanan varsayılanı kullanarak bir operatör için benzersiz bir ad oluşturun.
Bu normalde yalnızca operatör oluşturma sınıfları tarafından çağrılır.
Bu yöntem, bu örnek tarafından kontrol edilen ad kapsamına uygun benzersiz bir ad oluşturur. Tipik operatör binası kodu şuna benzeyebilir:
scope.env().opBuilder("Const", scope.makeOpName("Const"))...
Not: Bileşik bir operatör oluşturma sınıfı (yani, diğer operatör oluşturma kodunu çağırarak bir dizi ilgili işlem oluşturan bir sınıf) sağlarsanız, sağlanan ad, tüm temel operatörler için bir alt kapsam görevi görecektir.
Parametreler
| varsayılanAd | temel operatörün adı. |
|---|
İade
- operatör için benzersiz ad.
Atar
| YasadışıTartışmaİstisna | varsayılan ad geçersizse. |
|---|
Kontrol Bağımlılıkları ile genel Kapsam (Yinelenebilir< Op > kontroller)
Eklenen işlemlerin sağlanan denetim bağımlılıklarına sahip olacağı yeni bir kapsam döndürür.
Bu kapsamda oluşturulan operasyonlar, sağlanan kontrollerin her birinden bir kontrol avantajına sahip olacaktır. Diğer tüm özellikler geçerli kapsamdan devralınır.
Parametreler
| kontroller | döndürülen kapsam ile oluşturulan operasyonlar için kontrol bağımlılıkları |
|---|
İade
- sağlanan kontrol bağımlılıklarıyla yeni bir kapsam
Cihazla birlikte genel Kapsam ( DeviceSpec DeviceSpec)
Bir operasyon için sağlanan cihaz spesifikasyonunu kullanan yeni bir kapsam döndürün.
Bu kapsamda oluşturulan işlemler, oluşturulan işlemleri sağlanan spesifikasyonla eşleşen cihaz(lar)a yerleştirecektir.
Parametreler
| cihaz özellikleri | döndürülen kapsamdaki bir operatör için cihaz spesifikasyonu |
|---|
İade
- işlemler için opName'i kullanan yeni bir Kapsam.
public Scope withName (String opName)
Bir işlem için sağlanan adı kullanan yeni bir kapsam döndürün.
Bu kapsamda oluşturulan işlemler name/opName[_suffix] biçiminde bir ada sahip olacaktır. Bu, belirli bir operatörü daha anlamlı bir şekilde adlandırmanızı sağlar.
Adlar [A-Za-z0-9.][A-Za-z0-9_.\-]* normal ifadesiyle eşleşmelidir
Parametreler
| işlemAdı | döndürülen kapsamdaki bir operatörün adı |
|---|
İade
- işlemler için opName'i kullanan yeni bir Kapsam.
Atar
| YasadışıTartışmaİstisna | ad geçersizse |
|---|
public Scope withNameAsSubScope (Dize varsayılanAd)
Eklenen işlemlere bu kapsamın işlem adının ( withName(String) tarafından ayarlanır) veya ayarlanmadıysa verilen varsayılanın ön ekinin ekleneceği yeni bir kapsamı döndürür. Bunun bileşik operasyonlar için kullanılması amaçlanmıştır.
Bu kapsamda oluşturulan operasyonların öneki olarak name/opName/ bulunur. Gerçek ad, döndürülen kapsamda benzersiz olacaktır. Diğer tüm özellikler geçerli kapsamdan devralınır.
Varsayılan alt kapsam adı [A-Za-z0-9.][A-Za-z0-9_.\-]* normal ifadesiyle eşleşmelidir.
Parametreler
| varsayılanAd | Bu kapsamın adı ayarlanmamışsa alt kapsamın adı. |
|---|
İade
- yeni bir alt kapsam
Atar
| YasadışıTartışmaİstisna | ad geçersizse |
|---|
SubScope ile genel Kapsam (String childScopeName)
Eklenen işlemlerin belirtilen ad önekine sahip olacağı yeni bir kapsam döndürür.
Bu kapsam ile oluşturulan operasyonların öneki name/childScopeName/ olacaktır. Gerçek ad, döndürülen kapsamda benzersiz olacaktır. Diğer tüm özellikler geçerli kapsamdan devralınır.
Alt kapsam adı [A-Za-z0-9.][A-Za-z0-9_.\-]* normal ifadesiyle eşleşmelidir.
Parametreler
| childScopeName | yeni alt kapsamın adı |
|---|
İade
- yeni bir alt kapsam
Atar
| YasadışıTartışmaİstisna | ad geçersizse |
|---|