tensör akışı:: Dürbün

#include <scope.h>

Bir Scope nesnesi, ortak ad öneki gibi aynı özelliklere sahip bir dizi ilgili TensorFlow işlemini temsil eder.

Özet

Scope nesnesi, TensorFlow Op özellikleri için bir kapsayıcıdır. Op kurucuları, zorunlu bir ilk argüman olarak bir Scope nesnesi alır ve oluşturulan op, nesnedeki özellikleri alır.

Basit bir örnek:

using namespace ops;
Scope root = Scope::NewRootScope();
auto c1 = Const(root, { {1, 1} });
auto m = MatMul(root, c1, { {41}, {1} });
GraphDef gdef;
Status s = root.ToGraphDef(&gdef);
if (!s.ok()) { ... }

Kapsam hiyerarşisi:

Scope sınıfı, yeni bir kapsam oluşturan çeşitli With<> işlevleri sağlar. Yeni kapsamın tipik olarak bir özelliği değiştirilirken diğer özellikler üst kapsamdan devralınır. NewSubScope(name) yöntemi, kapsam içinde oluşturulan operasyonlar için adların ön ekine name ekler ve WithOpName() , aksi takdirde operasyonun türü için varsayılan olan soneki değiştirir.

İsim örnekleri:

Scope root = Scope::NewRootScope();
Scope linear = root.NewSubScope("linear");
// W will be named "linear/W"
auto W = Variable(linear.WithOpName("W"),
                  {2, 2}, DT_FLOAT);
// b will be named "linear/b_3"
int idx = 3;
auto b = Variable(linear.WithOpName("b_", idx),
                  {2}, DT_FLOAT);
auto x = Const(linear, {...});  // name: "linear/Const"
auto m = MatMul(linear, x, W);  // name: "linear/MatMul"
auto r = BiasAdd(linear, m, b); // name: "linear/BiasAdd"

Kapsam ömrü:

Scope::NewRootScope çağrılarak yeni bir kapsam oluşturulur. Bu, doğrudan veya geçişli olarak bu kapsamdan devralan tüm alt kapsamlar tarafından paylaşılan bazı kaynaklar oluşturur. Örneğin, yeni bir kapsam, yeni kapsam veya alt öğeleri bir Op kurucusu tarafından kullanıldığında işlemlerin eklendiği yeni bir Graph nesnesi oluşturur. Yeni kapsamın ayrıca, herhangi bir alt kapsamda çağrılan Op-constructor fonksiyonlarının hatalarını belirtmek için kullanılacak bir Status nesnesi vardır. Op-constructor işlevleri, op'u oluşturmaya devam etmeden önce ok() yöntemini çağırarak kapsamın durumunu kontrol etmelidir.

İplik güvenliği:

Bir Scope nesnesi iş parçacığı için güvenli DEĞİLDİR. İş parçacıkları, aynı Scope nesnesinde aynı anda op-constructor işlevlerini çağıramaz.

Yapıcılar ve Yıkıcılar

Scope (const Scope & other)
~Scope ()

Kamu işlevleri

ClearColocation () const
Tüm ortak yerleşim kısıtlamalarını temizleyin.
ColocateWith (const Operation & op) const
Yeni bir kapsam döndürün.
ColocateWith (const Output & out) const
Yukarıdakiler için kolaylık işlevi.
ExitOnError () const
Yeni bir kapsam döndürün.
GetCompositeOpScopes (const string & composite_op_name) const
GetUniqueNameForOp (const string & default_name) const
string
Bir op adı belirtilmemişse default_name kullanarak benzersiz bir ad döndürün.
NewSubScope (const string & child_scope_name) const
Yeni bir kapsam döndürün.
ToGraphDef (GraphDef *gdef) const
Status
status() Status::OK() ise, bu kapsamda depolanan Graph nesnesini bir GraphDef protokolüne dönüştürün ve Status::OK() değerini döndürün.
UpdateStatus (const Status & s) const
void
Bu kapsamdaki durumu güncelleyin.
WithAssignedDevice (const string & assigned_device) const
Yeni bir kapsam döndürür.
WithControlDependencies (const gtl::ArraySlice< Operation > & control_deps) const
Yeni bir kapsam döndürün.
WithControlDependencies (const Output & control_dep) const
Yukarıdakiyle aynı, ancak control_dep çıktısını üreten işleme denetim bağımlılığı eklemek için uygun.
WithDevice (const string & device) const
Yeni bir kapsam döndürün.
WithKernelLabel (const string & kernel_label) const
Yeni bir kapsam döndürün.
WithNoControlDependencies () const
Yeni bir kapsam döndürün.
WithOpName (Ty... fragments) const
Yeni bir kapsam döndürün.
WithXlaCluster (const string & xla_cluster) const
Yeni bir kapsam döndürür.
control_deps () const
const std::vector< Operation > &
graph () const
Graph *
graph_as_shared_ptr () const
std::shared_ptr< Graph >
ok () const
bool
operator= (const Scope & other)
status () const
Status

Genel statik işlevler

NewRootScope ()
Yeni bir kapsam döndürün.

Kamu işlevleri

ClearColocation

Scope ClearColocation() const 

Tüm ortak yerleşim kısıtlamalarını temizleyin.

Birlikte

Scope ColocateWith(
  const Operation & op
) const 

Yeni bir kapsam döndürün.

Döndürülen kapsamda oluşturulan tüm operasyonlar, operasyonun yerleştirildiği cihazda birlikte konumlandırılacaktır. NOT: Bu işlevin, yalnızca operasyonların cihazlara yerleştirilmesini kontrol etmek için dahili kitaplıkları kullanması amaçlanmıştır. Cihaz yerleştirme uygulaması değişebileceğinden, genel kullanım teşvik edilmemektedir.

Birlikte

Scope ColocateWith(
  const Output & out
) const 

Yukarıdakiler için kolaylık işlevi.

ExitOnError

Scope ExitOnError() const 

Yeni bir kapsam döndürün.

Döndürülen kapsamı kapsam argümanı olarak alan op-constructor işlevleri, kapsamda durumu ayarlamak yerine bir hata algılanır algılanmaz çıkacaktır.

GetCompositeOpScopes

CompositeOpScopes GetCompositeOpScopes(
  const string & composite_op_name
) const 

GetUniqueNameForOp

string GetUniqueNameForOp(
  const string & default_name
) const 

Bir op adı belirtilmemişse default_name kullanarak benzersiz bir ad döndürün.

YeniSubScope

Scope NewSubScope(
  const string & child_scope_name
) const 

Yeni bir kapsam döndürün.

Bu kapsamla oluşturulan operasyonların önek olarak name/child_scope_name olacaktır. Gerçek ad, geçerli kapsamda benzersiz olacaktır. Diğer tüm özellikler geçerli kapsamdan devralınır. child_scope_name boşsa, / işaretlenir.

Dürbün

 Scope(
  const Scope & other
)

ToGraphDef

Status ToGraphDef(
  GraphDef *gdef
) const 

status() Status::OK() ise, bu kapsamda depolanan Graph nesnesini bir GraphDef protokolüne dönüştürün ve Status::OK() değerini döndürün.

Aksi takdirde, GraphDef dönüşümü gerçekleştirmeden hata durumunu olduğu gibi döndürün.

Güncelleme durumu

void UpdateStatus(
  const Status & s
) const 

Bu kapsamdaki durumu güncelleyin.

Not: Durum nesnesi, bu kapsamın tüm alt öğeleri arasında paylaşılır. Ortaya çıkan durum Status::OK() değilse ve bu kapsamda exit_on_error_ ayarlanmışsa, LOG(FATAL) çağrılarak bu fonksiyondan çıkılır.

Atanan Cihazla

Scope WithAssignedDevice(
  const string & assigned_device
) const 

Yeni bir kapsam döndürür.

Döndürülen kapsamda oluşturulan tüm operasyonlar, assigned_device aygıtlarına atanmış_aygıt olarak ayarlanacaktır.

Kontrol Bağımlılıkları ile

Scope WithControlDependencies(
  const gtl::ArraySlice< Operation > & control_deps
) const 

Yeni bir kapsam döndürün.

Döndürülen kapsamda oluşturulan tüm işlemler, kontrol bağımlılıkları olarak, control_deps vektöründeki işlemlerin birleşimine ve geçerli kapsamın kontrol bağımlılıklarına sahip olacaktır.

Kontrol Bağımlılıkları ile

Scope WithControlDependencies(
  const Output & control_dep
) const 

Yukarıdakiyle aynı, ancak control_dep çıktısını üreten işleme denetim bağımlılığı eklemek için uygun.

Cihazla

Scope WithDevice(
  const string & device
) const 

Yeni bir kapsam döndürün.

Döndürülen kapsamda oluşturulan tüm operasyonlar, cihaz alanını 'cihaz' olarak ayarlayacaktır.

Çekirdek Etiketi ile

Scope WithKernelLabel(
  const string & kernel_label
) const 

Yeni bir kapsam döndürün.

Yeni kapsamla oluşturulan tüm operasyonlar, '_kernel' özniteliklerinin değeri olarak kernel_label'e sahip olacaktır;

Kontrol Bağımlılıkları ile

Scope WithNoControlDependencies() const 

Yeni bir kapsam döndürün.

Döndürülen kapsamda oluşturulan tüm operasyonların diğer operasyonlara hiçbir kontrol bağımlılığı olmayacaktır.

OpName ile

Scope WithOpName(
  Ty... fragments
) const 

Yeni bir kapsam döndürün.

Döndürülen kapsamda oluşturulan tüm işlemler, name/StrCat(fragments...)[_suffix] biçimindeki adlara sahip olacaktır.

XlaCluster ile

Scope WithXlaCluster(
  const string & xla_cluster
) const 

Yeni bir kapsam döndürür.

Döndürülen kapsamda oluşturulan tüm operasyonların _XlaCluster özniteliği xla_cluster olarak ayarlanacaktır.

control_deps

const std::vector< Operation > & control_deps() const 

grafik

Graph * graph() const 

graph_as_shared_ptr

std::shared_ptr< Graph > graph_as_shared_ptr() const 

tamam

bool ok() const 

operatör=

Scope & operator=(
  const Scope & other
)

durum

Status status() const 

~Kapsam

 ~Scope()

Genel statik işlevler

YeniRootScope

Scope NewRootScope()

Yeni bir kapsam döndürün.

Bu, yeni bir grafik oluşturur ve bu grafikte oluşturulan tüm işlemler, döndürülen nesneyi "kök" kapsamı olarak kullanmalıdır.

,

tensör akışı:: Dürbün

#include <scope.h>

Bir Scope nesnesi, ortak ad öneki gibi aynı özelliklere sahip bir dizi ilgili TensorFlow işlemini temsil eder.

Özet

Scope nesnesi, TensorFlow Op özellikleri için bir kapsayıcıdır. Op kurucuları, zorunlu bir ilk argüman olarak bir Scope nesnesi alır ve oluşturulan op, nesnedeki özellikleri alır.

Basit bir örnek:

using namespace ops;
Scope root = Scope::NewRootScope();
auto c1 = Const(root, { {1, 1} });
auto m = MatMul(root, c1, { {41}, {1} });
GraphDef gdef;
Status s = root.ToGraphDef(&gdef);
if (!s.ok()) { ... }

Kapsam hiyerarşisi:

Scope sınıfı, yeni bir kapsam oluşturan çeşitli With<> işlevleri sağlar. Yeni kapsamın tipik olarak bir özelliği değiştirilirken diğer özellikler üst kapsamdan devralınır. NewSubScope(name) yöntemi, kapsam içinde oluşturulan operasyonlar için adların ön ekine name ekler ve WithOpName() , aksi takdirde operasyonun türü için varsayılan olan soneki değiştirir.

İsim örnekleri:

Scope root = Scope::NewRootScope();
Scope linear = root.NewSubScope("linear");
// W will be named "linear/W"
auto W = Variable(linear.WithOpName("W"),
                  {2, 2}, DT_FLOAT);
// b will be named "linear/b_3"
int idx = 3;
auto b = Variable(linear.WithOpName("b_", idx),
                  {2}, DT_FLOAT);
auto x = Const(linear, {...});  // name: "linear/Const"
auto m = MatMul(linear, x, W);  // name: "linear/MatMul"
auto r = BiasAdd(linear, m, b); // name: "linear/BiasAdd"

Kapsam ömrü:

Scope::NewRootScope çağrılarak yeni bir kapsam oluşturulur. Bu, doğrudan veya geçişli olarak bu kapsamdan devralan tüm alt kapsamlar tarafından paylaşılan bazı kaynaklar oluşturur. Örneğin, yeni bir kapsam, yeni kapsam veya alt öğeleri bir Op kurucusu tarafından kullanıldığında işlemlerin eklendiği yeni bir Graph nesnesi oluşturur. Yeni kapsamın ayrıca, herhangi bir alt kapsamda çağrılan Op-constructor fonksiyonlarının hatalarını belirtmek için kullanılacak bir Status nesnesi vardır. Op-constructor işlevleri, op'u oluşturmaya devam etmeden önce ok() yöntemini çağırarak kapsamın durumunu kontrol etmelidir.

İplik güvenliği:

Bir Scope nesnesi iş parçacığı için güvenli DEĞİLDİR. İş parçacıkları, aynı Scope nesnesinde aynı anda op-constructor işlevlerini çağıramaz.

Yapıcılar ve Yıkıcılar

Scope (const Scope & other)
~Scope ()

Kamu işlevleri

ClearColocation () const
Tüm ortak yerleşim kısıtlamalarını temizleyin.
ColocateWith (const Operation & op) const
Yeni bir kapsam döndürün.
ColocateWith (const Output & out) const
Yukarıdakiler için kolaylık işlevi.
ExitOnError () const
Yeni bir kapsam döndürün.
GetCompositeOpScopes (const string & composite_op_name) const
GetUniqueNameForOp (const string & default_name) const
string
Bir op adı belirtilmemişse default_name kullanarak benzersiz bir ad döndürün.
NewSubScope (const string & child_scope_name) const
Yeni bir kapsam döndürün.
ToGraphDef (GraphDef *gdef) const
Status
status() Status::OK() ise, bu kapsamda depolanan Graph nesnesini bir GraphDef protokolüne dönüştürün ve Status::OK() değerini döndürün.
UpdateStatus (const Status & s) const
void
Bu kapsamdaki durumu güncelleyin.
WithAssignedDevice (const string & assigned_device) const
Yeni bir kapsam döndürür.
WithControlDependencies (const gtl::ArraySlice< Operation > & control_deps) const
Yeni bir kapsam döndürün.
WithControlDependencies (const Output & control_dep) const
Yukarıdakiyle aynı, ancak control_dep çıktısını üreten işleme denetim bağımlılığı eklemek için uygun.
WithDevice (const string & device) const
Yeni bir kapsam döndürün.
WithKernelLabel (const string & kernel_label) const
Yeni bir kapsam döndürün.
WithNoControlDependencies () const
Yeni bir kapsam döndürün.
WithOpName (Ty... fragments) const
Yeni bir kapsam döndürün.
WithXlaCluster (const string & xla_cluster) const
Yeni bir kapsam döndürür.
control_deps () const
const std::vector< Operation > &
graph () const
Graph *
graph_as_shared_ptr () const
std::shared_ptr< Graph >
ok () const
bool
operator= (const Scope & other)
status () const
Status

Genel statik işlevler

NewRootScope ()
Yeni bir kapsam döndürün.

Kamu işlevleri

ClearColocation

Scope ClearColocation() const 

Tüm ortak yerleşim kısıtlamalarını temizleyin.

Birlikte

Scope ColocateWith(
  const Operation & op
) const 

Yeni bir kapsam döndürün.

Döndürülen kapsamda oluşturulan tüm operasyonlar, operasyonun yerleştirildiği cihazda birlikte konumlandırılacaktır. NOT: Bu işlevin, yalnızca operasyonların cihazlara yerleştirilmesini kontrol etmek için dahili kitaplıkları kullanması amaçlanmıştır. Cihaz yerleştirme uygulaması değişebileceğinden, genel kullanım teşvik edilmemektedir.

Birlikte

Scope ColocateWith(
  const Output & out
) const 

Yukarıdakiler için kolaylık işlevi.

ExitOnError

Scope ExitOnError() const 

Yeni bir kapsam döndürün.

Döndürülen kapsamı kapsam argümanı olarak alan op-constructor işlevleri, kapsamda durumu ayarlamak yerine bir hata algılanır algılanmaz çıkacaktır.

GetCompositeOpScopes

CompositeOpScopes GetCompositeOpScopes(
  const string & composite_op_name
) const 

GetUniqueNameForOp

string GetUniqueNameForOp(
  const string & default_name
) const 

Bir op adı belirtilmemişse default_name kullanarak benzersiz bir ad döndürün.

YeniSubScope

Scope NewSubScope(
  const string & child_scope_name
) const 

Yeni bir kapsam döndürün.

Bu kapsamla oluşturulan operasyonların önek olarak name/child_scope_name olacaktır. Gerçek ad, geçerli kapsamda benzersiz olacaktır. Diğer tüm özellikler geçerli kapsamdan devralınır. child_scope_name boşsa, / işaretlenir.

Dürbün

 Scope(
  const Scope & other
)

ToGraphDef

Status ToGraphDef(
  GraphDef *gdef
) const 

status() Status::OK() ise, bu kapsamda depolanan Graph nesnesini bir GraphDef protokolüne dönüştürün ve Status::OK() değerini döndürün.

Aksi takdirde, GraphDef dönüşümü gerçekleştirmeden hata durumunu olduğu gibi döndürün.

Güncelleme durumu

void UpdateStatus(
  const Status & s
) const 

Bu kapsamdaki durumu güncelleyin.

Not: Durum nesnesi, bu kapsamın tüm alt öğeleri arasında paylaşılır. Ortaya çıkan durum Status::OK() değilse ve bu kapsamda exit_on_error_ ayarlanmışsa, LOG(FATAL) çağrılarak bu fonksiyondan çıkılır.

Atanan Cihazla

Scope WithAssignedDevice(
  const string & assigned_device
) const 

Yeni bir kapsam döndürür.

Döndürülen kapsamda oluşturulan tüm operasyonlar, assigned_device aygıtlarına atanmış_aygıt olarak ayarlanacaktır.

Kontrol Bağımlılıkları ile

Scope WithControlDependencies(
  const gtl::ArraySlice< Operation > & control_deps
) const 

Yeni bir kapsam döndürün.

Döndürülen kapsamda oluşturulan tüm işlemler, kontrol bağımlılıkları olarak, control_deps vektöründeki işlemlerin birleşimine ve geçerli kapsamın kontrol bağımlılıklarına sahip olacaktır.

Kontrol Bağımlılıkları ile

Scope WithControlDependencies(
  const Output & control_dep
) const 

Yukarıdakiyle aynı, ancak control_dep çıktısını üreten işleme denetim bağımlılığı eklemek için uygun.

Cihazla

Scope WithDevice(
  const string & device
) const 

Yeni bir kapsam döndürün.

Döndürülen kapsamda oluşturulan tüm operasyonlar, cihaz alanını 'cihaz' olarak ayarlayacaktır.

Çekirdek Etiketi ile

Scope WithKernelLabel(
  const string & kernel_label
) const 

Yeni bir kapsam döndürün.

Yeni kapsamla oluşturulan tüm operasyonlar, '_kernel' özniteliklerinin değeri olarak kernel_label'e sahip olacaktır;

Kontrol Bağımlılıkları ile

Scope WithNoControlDependencies() const 

Yeni bir kapsam döndürün.

Döndürülen kapsamda oluşturulan tüm operasyonların diğer operasyonlara hiçbir kontrol bağımlılığı olmayacaktır.

OpName ile

Scope WithOpName(
  Ty... fragments
) const 

Yeni bir kapsam döndürün.

Döndürülen kapsamda oluşturulan tüm işlemler, name/StrCat(fragments...)[_suffix] biçimindeki adlara sahip olacaktır.

XlaCluster ile

Scope WithXlaCluster(
  const string & xla_cluster
) const 

Yeni bir kapsam döndürür.

Döndürülen kapsamda oluşturulan tüm operasyonların _XlaCluster özniteliği xla_cluster olarak ayarlanacaktır.

control_deps

const std::vector< Operation > & control_deps() const 

grafik

Graph * graph() const 

graph_as_shared_ptr

std::shared_ptr< Graph > graph_as_shared_ptr() const 

tamam

bool ok() const 

operatör=

Scope & operator=(
  const Scope & other
)

durum

Status status() const 

~Kapsam

 ~Scope()

Genel statik işlevler

YeniRootScope

Scope NewRootScope()

Yeni bir kapsam döndürün.

Bu, yeni bir grafik oluşturur ve bu grafikte oluşturulan tüm işlemler, döndürülen nesneyi "kök" kapsamı olarak kullanmalıdır.