টেনসরফ্লো :: ব্যাপ্তি

#include <scope.h>

একটি Scope অবজেক্ট সম্পর্কিত টেনসরফ্লো অপের একটি সেটকে প্রতিনিধিত্ব করে যার একই বৈশিষ্ট্য যেমন একটি সাধারণ নামের উপসর্গ রয়েছে।

সারাংশ

একটি স্কোপ অবজেক্ট হল TensorFlow Op বৈশিষ্ট্যের জন্য একটি ধারক। অপ কনস্ট্রাক্টররা একটি বাধ্যতামূলক প্রথম আর্গুমেন্ট হিসাবে একটি স্কোপ অবজেক্ট পায় এবং কনস্ট্রাক্ট করা অপটি অবজেক্টের বৈশিষ্ট্যগুলি অর্জন করে।

একটি সহজ উদাহরণ:

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()) { ... }

স্কোপ অনুক্রম:

স্কোপ ক্লাস বিভিন্ন With<> ফাংশন প্রদান করে যা একটি নতুন সুযোগ তৈরি করে। নতুন স্কোপে সাধারণত একটি সম্পত্তি পরিবর্তিত হয় যখন অন্যান্য বৈশিষ্ট্যগুলি মূল সুযোগ থেকে উত্তরাধিকার সূত্রে প্রাপ্ত হয়। NewSubScope(নাম) পদ্ধতি স্কোপের মধ্যে তৈরি করা অপ্সের নামের উপসর্গের সাথে name যুক্ত করে এবং WithOpName() প্রত্যয় পরিবর্তন করে যা অন্যথায় অপের প্রকারে ডিফল্ট হয়।

নামের উদাহরণ:

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"

সুযোগ জীবনকাল:

Scope::NewRootScope কল করে একটি নতুন সুযোগ তৈরি করা হয়েছে। এটি এমন কিছু সংস্থান তৈরি করে যা সমস্ত চাইল্ড স্কোপের দ্বারা ভাগ করা হয় যা এই সুযোগ থেকে উত্তরাধিকারসূত্রে পাওয়া যায়, সরাসরি বা ট্রানজিটিভভাবে। উদাহরণস্বরূপ, একটি নতুন স্কোপ একটি নতুন গ্রাফ অবজেক্ট তৈরি করে যেখানে অপারেশনগুলি যোগ করা হয় যখন নতুন স্কোপ বা এর বাচ্চাগুলি একটি Op কনস্ট্রাক্টর দ্বারা ব্যবহার করা হয়। নতুন স্কোপে একটি স্ট্যাটাস অবজেক্টও রয়েছে যা যেকোন চাইল্ড স্কোপে কল করা Op-constructor ফাংশন দ্বারা ত্রুটিগুলি নির্দেশ করতে ব্যবহার করা হবে। অপ-কনস্ট্রাক্টর ফাংশনগুলিকে অপ নির্মাণের জন্য এগিয়ে যাওয়ার আগে ok() পদ্ধতিতে কল করে সুযোগের স্থিতি পরীক্ষা করতে হবে।

থ্রেড নিরাপত্তা:

একটি Scope বস্তু থ্রেড-নিরাপদ নয়। থ্রেড একই সাথে একই Scope অবজেক্টে অপ-কনস্ট্রাক্টর ফাংশনকে কল করতে পারে না।

কনস্ট্রাক্টর এবং ডেস্ট্রাক্টর

Scope (const Scope & other)
~Scope ()

পাবলিক ফাংশন

ClearColocation () const
সমস্ত colocation সীমাবদ্ধতা সাফ করুন.
ColocateWith (const Operation & op) const
একটি নতুন সুযোগ ফিরিয়ে দিন।
ColocateWith (const Output & out) const
উপরের জন্য সুবিধার ফাংশন.
ExitOnError () const
একটি নতুন সুযোগ ফিরিয়ে দিন।
GetCompositeOpScopes (const string & composite_op_name) const
GetUniqueNameForOp (const string & default_name) const
string
একটি অপের নাম নির্দিষ্ট করা না থাকলে ডিফল্ট_নাম ব্যবহার করে একটি অনন্য নাম ফেরত দিন।
NewSubScope (const string & child_scope_name) const
একটি নতুন সুযোগ ফিরিয়ে দিন।
ToGraphDef (GraphDef *gdef) const
যদি status() হয় Status::OK(), এই স্কোপে সংরক্ষিত গ্রাফ অবজেক্টটিকে একটি GraphDef প্রোটোতে রূপান্তর করুন এবং স্ট্যাটাস::OK() রিটার্ন করুন।
UpdateStatus (const Status s) const
void
এই সুযোগে অবস্থা আপডেট করুন.
WithAssignedDevice (const string & assigned_device) const
একটি নতুন সুযোগ প্রদান করে।
WithControlDependencies (const gtl::ArraySlice< Operation > & control_deps) const
একটি নতুন সুযোগ ফিরিয়ে দিন।
WithControlDependencies (const Output & control_dep) const
উপরের মতই, কিন্তু control_dep আউটপুট উৎপাদনকারী অপারেশনের উপর নিয়ন্ত্রণ নির্ভরতা যোগ করতে সুবিধাজনক।
WithDevice (const string & device) const
একটি নতুন সুযোগ ফিরিয়ে দিন।
WithKernelLabel (const string & kernel_label) const
একটি নতুন সুযোগ ফিরিয়ে দিন।
WithNoControlDependencies () const
একটি নতুন সুযোগ ফিরিয়ে দিন।
WithOpName (Ty... fragments) const
একটি নতুন সুযোগ ফিরিয়ে দিন।
WithXlaCluster (const string & xla_cluster) const
একটি নতুন সুযোগ প্রদান করে।
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

পাবলিক স্ট্যাটিক ফাংশন

NewRootScope ()
একটি নতুন সুযোগ ফিরিয়ে দিন।

পাবলিক ফাংশন

ক্লিয়ার কোলোকেশন

Scope ClearColocation() const 

সমস্ত colocation সীমাবদ্ধতা সাফ করুন.

ColocateWith

Scope ColocateWith(
  const Operation & op
) const 

একটি নতুন সুযোগ ফিরিয়ে দিন।

প্রত্যাবর্তিত স্কোপের মধ্যে তৈরি করা সমস্ত অপগুলি ডিভাইসে সহ-অবস্থান করা হবে যেখানে op স্থাপন করা হয়েছে৷ দ্রষ্টব্য: এই ফাংশনটি অভ্যন্তরীণ লাইব্রেরিগুলি ব্যবহার করার উদ্দেশ্যে করা হয়েছে শুধুমাত্র ডিভাইসে অপ্সের বসানো নিয়ন্ত্রণের জন্য। সর্বজনীন ব্যবহারকে উত্সাহিত করা হয় না কারণ ডিভাইস স্থাপনের বাস্তবায়ন পরিবর্তন সাপেক্ষে।

ColocateWith

Scope ColocateWith(
  const Output & out
) const 

উপরের জন্য সুবিধার ফাংশন.

ExitOnError

Scope ExitOnError() const 

একটি নতুন সুযোগ ফিরিয়ে দিন।

অপ-কনস্ট্রাকটর ফাংশন স্কোপ আর্গুমেন্ট হিসাবে রিটার্ন করা সুযোগ গ্রহণ করে স্কোপের উপর স্থিতি সেট করার পরিবর্তে একটি ত্রুটি সনাক্ত হওয়ার সাথে সাথে প্রস্থান করবে।

GetCompositeOpScopes

CompositeOpScopes GetCompositeOpScopes(
  const string & composite_op_name
) const 

GetUniqueNameForOp

string GetUniqueNameForOp(
  const string & default_name
) const 

একটি অপের নাম নির্দিষ্ট করা না থাকলে ডিফল্ট_নাম ব্যবহার করে একটি অনন্য নাম ফেরত দিন।

নিউসাবস্কোপ

Scope NewSubScope(
  const string & child_scope_name
) const 

একটি নতুন সুযোগ ফিরিয়ে দিন।

এই স্কোপ দিয়ে তৈরি করা অপ্সের name/child_scope_name উপসর্গ হিসেবে থাকবে। প্রকৃত নাম বর্তমান সুযোগে অনন্য হবে। অন্যান্য সমস্ত বৈশিষ্ট্য বর্তমান সুযোগ থেকে উত্তরাধিকারসূত্রে প্রাপ্ত। child_scope_name খালি থাকলে, / এলিড করা হয়।

ব্যাপ্তি

 Scope(
  const Scope & other
)

ToGraphDef

Status ToGraphDef(
  GraphDef *gdef
) const 

যদি status() হয় Status::OK(), এই স্কোপে সংরক্ষিত গ্রাফ অবজেক্টটিকে একটি GraphDef প্রোটোতে রূপান্তর করুন এবং স্ট্যাটাস::OK() রিটার্ন করুন।

অন্যথায়, গ্রাফডিফ রূপান্তর না করেই ত্রুটির স্থিতি ফিরিয়ে দিন।

আপডেট স্ট্যাটাস

void UpdateStatus(
  const Status s
) const 

এই সুযোগে অবস্থা আপডেট করুন.

দ্রষ্টব্য: স্ট্যাটাস অবজেক্ট এই সুযোগের সমস্ত বাচ্চাদের মধ্যে ভাগ করা হয়েছে। যদি ফলাফলের অবস্থা Status::OK() না হয় এবং exit_on_error_ এই সুযোগে সেট করা থাকে, এই ফাংশনটি LOG(FATAL) কল করে প্রস্থান করে।

অ্যাসাইনড ডিভাইসের সাথে

Scope WithAssignedDevice(
  const string & assigned_device
) const 

একটি নতুন সুযোগ প্রদান করে।

প্রত্যাবর্তিত স্কোপের মধ্যে তৈরি করা সমস্ত অপারেশনের জন্য তাদের নির্ধারিত ডিভাইস assigned_device এ সেট করা থাকবে।

নিয়ন্ত্রণ নির্ভরতা সহ

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

একটি নতুন সুযোগ ফিরিয়ে দিন।

প্রত্যাবর্তিত স্কোপের মধ্যে তৈরি করা সমস্ত অপ্সের নিয়ন্ত্রণ নির্ভরতা হিসেবে থাকবে control_deps ভেক্টরে অপারেশনের মিলন এবং বর্তমান সুযোগের নিয়ন্ত্রণ নির্ভরতা।

নিয়ন্ত্রণ নির্ভরতা সহ

Scope WithControlDependencies(
  const Output & control_dep
) const 

উপরের মতই, কিন্তু control_dep আউটপুট উৎপাদনকারী অপারেশনের উপর নিয়ন্ত্রণ নির্ভরতা যোগ করতে সুবিধাজনক।

ডিভাইস সহ

Scope WithDevice(
  const string & device
) const 

একটি নতুন সুযোগ ফিরিয়ে দিন।

প্রত্যাবর্তিত স্কোপের মধ্যে তৈরি করা সমস্ত অপারেশনে ডিভাইস ক্ষেত্রটি 'ডিভাইস'-এ সেট করা থাকবে।

কার্নেললেবেলের সাথে

Scope WithKernelLabel(
  const string & kernel_label
) const 

একটি নতুন সুযোগ ফিরিয়ে দিন।

নতুন সুযোগের সাথে তৈরি করা সমস্ত অপ্সের '_kernel' অ্যাট্রিবিউটের মান হিসাবে kernel_label থাকবে;

নো কন্ট্রোল নির্ভরতা সহ

Scope WithNoControlDependencies() const 

একটি নতুন সুযোগ ফিরিয়ে দিন।

প্রত্যাবর্তিত সুযোগের মধ্যে তৈরি করা সমস্ত অপারেশনের অন্যান্য ক্রিয়াকলাপের উপর কোন নিয়ন্ত্রণ নির্ভরতা থাকবে না।

ওপনামের সাথে

Scope WithOpName(
  Ty... fragments
) const 

একটি নতুন সুযোগ ফিরিয়ে দিন।

প্রত্যাবর্তিত সুযোগের মধ্যে তৈরি করা সমস্ত অপের ফর্মের name/StrCat(fragments...)[_suffix] নাম থাকবে।

এক্সলাক্লাস্টার সহ

Scope WithXlaCluster(
  const string & xla_cluster
) const 

একটি নতুন সুযোগ প্রদান করে।

প্রত্যাবর্তিত স্কোপের মধ্যে তৈরি করা সমস্ত অপ্সের _XlaCluster অ্যাট্রিবিউট xla_cluster এ সেট করা থাকবে।

কন্ট্রোল_ডিপস

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

গ্রাফ

Graph * graph() const 

graph_as_shared_ptr

std::shared_ptr< Graph > graph_as_shared_ptr() const 

ঠিক আছে

bool ok() const 

অপারেটর=

Scope & operator=(
  const Scope & other
)

অবস্থা

Status status() const 

~ সুযোগ

 ~Scope()

পাবলিক স্ট্যাটিক ফাংশন

নিউরুটস্কোপ

Scope NewRootScope()

একটি নতুন সুযোগ ফিরিয়ে দিন।

এটি একটি নতুন গ্রাফ তৈরি করে এবং এই গ্রাফে নির্মিত সমস্ত ক্রিয়াকলাপের জন্য প্রত্যাবর্তিত বস্তুটিকে "রুট" স্কোপ হিসাবে ব্যবহার করা উচিত।