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 |
---|