تنسورفلو:: کلاینت‌سشن

#include <client_session.h>

یک شیء ClientSession به فراخواننده اجازه می‌دهد تا ارزیابی گراف TensorFlow ساخته شده با API ++C را هدایت کند.

خلاصه

مثال:

Scope root = Scope::NewRootScope();
auto a = Placeholder(root, DT_INT32);
auto c = Add(root, a, {41});

ClientSession session(root);
std::vector outputs;

Status s = session.Run({ {a, {1}} }, {c}, &outputs);
if (!s.ok()) { ... }  

سازنده‌ها و مخرب‌ها

ClientSession (const Scope & scope, const string & target)
با اتصال به زمان اجرای TensorFlow مشخص شده توسط target ، یک جلسه جدید برای ارزیابی نمودار موجود در scope ایجاد کنید.
ClientSession (const Scope & scope)
همانند مورد بالا، اما از رشته خالی ("") به عنوان مشخصات هدف استفاده کنید.
ClientSession (const Scope & scope, const SessionOptions & session_options)
یک جلسه جدید ایجاد کنید و آن را با session_options پیکربندی کنید.
~ClientSession ()

انواع عمومی

CallableHandle تایپ‌دف
int64
یک هندل برای یک زیرگراف، که با ClientSession::MakeCallable() ایجاد شده است.
FeedType تایپ‌دف
std::unordered_map< Output , Input::Initializer , OutputHash >
یک نوع داده برای نمایش فیدهای مربوط به فراخوانی Run.

کارکردهای عمومی

MakeCallable (const CallableOptions & callable_options, CallableHandle *out_handle)
یک handle برای فراخوانی زیرگراف تعریف شده توسط callable_options ایجاد می‌کند.
ReleaseCallable ( CallableHandle handle)
منابع مرتبط با handle داده شده در این جلسه را آزاد می‌کند.
Run (const std::vector< Output > & fetch_outputs, std::vector< Tensor > *outputs) const
تنسورها را در fetch_outputs ارزیابی کنید.
Run (const FeedType & inputs, const std::vector< Output > & fetch_outputs, std::vector< Tensor > *outputs) const
همانند مورد بالا، اما از نگاشت در inputs به عنوان فید استفاده کنید.
Run (const FeedType & inputs, const std::vector< Output > & fetch_outputs, const std::vector< Operation > & run_outputs, std::vector< Tensor > *outputs) const
همانند مورد بالا. علاوه بر این، عملیات درون run_outputs نیز اجرا می‌کند.
Run (const RunOptions & run_options, const FeedType & inputs, const std::vector< Output > & fetch_outputs, const std::vector< Operation > & run_outputs, std::vector< Tensor > *outputs, RunMetadata *run_metadata) const
برای فعال کردن پروفایل عملکرد run_options استفاده کنید.
RunCallable ( CallableHandle handle, const std::vector< Tensor > & feed_tensors, std::vector< Tensor > *fetch_tensors, RunMetadata *run_metadata)
زیرگرافی به نام handle را با گزینه‌های داده شده و تانسورهای ورودی فراخوانی می‌کند.
RunCallable ( CallableHandle handle, const std::vector< Tensor > & feed_tensors, std::vector< Tensor > *fetch_tensors, RunMetadata *run_metadata, const thread::ThreadPoolOptions & options)
زیرگرافی به نام handle را با گزینه‌های داده شده و تانسورهای ورودی فراخوانی می‌کند.

انواع عمومی

هندل قابل فراخوانی

int64 CallableHandle

یک هندل برای یک زیرگراف، که با ClientSession::MakeCallable() ایجاد شده است.

نوع خوراک

std::unordered_map< Output, Input::Initializer, OutputHash > FeedType

یک نوع داده برای نمایش فیدهای مربوط به فراخوانی Run.

این نقشه‌ای از اشیاء Output است که توسط سازنده‌های عملیاتی به مقداری که باید به آنها داده شود، برگردانده می‌شوند. برای جزئیات بیشتر در مورد آنچه می‌تواند به عنوان مقادیر ورودی استفاده شود، به Input::Initializer مراجعه کنید.

کارکردهای عمومی

جلسه کلاینت

 ClientSession(
  const Scope & scope,
  const string & target
)

با اتصال به زمان اجرای TensorFlow مشخص شده توسط target ، یک جلسه جدید برای ارزیابی نمودار موجود در scope ایجاد کنید.

جلسه کلاینت

 ClientSession(
  const Scope & scope
)

همانند مورد بالا، اما از رشته خالی ("") به عنوان مشخصات هدف استفاده کنید.

جلسه کلاینت

 ClientSession(
  const Scope & scope,
  const SessionOptions & session_options
)

یک جلسه جدید ایجاد کنید و آن را با session_options پیکربندی کنید.

قابل فراخوانی کردن

Status MakeCallable(
  const CallableOptions & callable_options,
  CallableHandle *out_handle
)

یک handle برای فراخوانی زیرگراف تعریف شده توسط callable_options ایجاد می‌کند.

توجه: این API هنوز آزمایشی است و ممکن است تغییر کند.

قابل انتشار

Status ReleaseCallable(
  CallableHandle handle
)

منابع مرتبط با handle داده شده در این جلسه را آزاد می‌کند.

توجه: این API هنوز آزمایشی است و ممکن است تغییر کند.

اجرا کنید

Status Run(
  const std::vector< Output > & fetch_outputs,
  std::vector< Tensor > *outputs
) const 

تنسورها را در fetch_outputs ارزیابی کنید.

مقادیر به عنوان اشیاء Tensor در outputs بازگردانده می‌شوند. تعداد و ترتیب outputs fetch_outputs مطابقت خواهد داشت.

اجرا کنید

Status Run(
  const FeedType & inputs,
  const std::vector< Output > & fetch_outputs,
  std::vector< Tensor > *outputs
) const 

همانند مورد بالا، اما از نگاشت در inputs به عنوان فید استفاده کنید.

اجرا کنید

Status Run(
  const FeedType & inputs,
  const std::vector< Output > & fetch_outputs,
  const std::vector< Operation > & run_outputs,
  std::vector< Tensor > *outputs
) const 

همانند مورد بالا. علاوه بر این، عملیات درون run_outputs نیز اجرا می‌کند.

اجرا کنید

Status Run(
  const RunOptions & run_options,
  const FeedType & inputs,
  const std::vector< Output > & fetch_outputs,
  const std::vector< Operation > & run_outputs,
  std::vector< Tensor > *outputs,
  RunMetadata *run_metadata
) const 

برای فعال کردن پروفایل عملکرد run_options استفاده کنید.

اگر run_metadata تهی نباشد، با نتایج پروفایلینگ پر می‌شود.

قابل فراخوانی

Status RunCallable(
  CallableHandle handle,
  const std::vector< Tensor > & feed_tensors,
  std::vector< Tensor > *fetch_tensors,
  RunMetadata *run_metadata
)

زیرگرافی به نام handle را با گزینه‌های داده شده و تانسورهای ورودی فراخوانی می‌کند.

ترتیب تانسورها در feed_tensors باید با ترتیب نام‌ها در CallableOptions::feed() مطابقت داشته باشد و ترتیب تانسورها در fetch_tensors با ترتیب نام‌ها در CallableOptions::fetch() هنگام ایجاد این زیرگراف مطابقت خواهد داشت. توجه: این API هنوز آزمایشی است و ممکن است تغییر کند.

قابل فراخوانی

Status RunCallable(
  CallableHandle handle,
  const std::vector< Tensor > & feed_tensors,
  std::vector< Tensor > *fetch_tensors,
  RunMetadata *run_metadata,
  const thread::ThreadPoolOptions & options
)

زیرگرافی به نام handle را با گزینه‌های داده شده و تانسورهای ورودی فراخوانی می‌کند.

ترتیب تانسورها در feed_tensors باید با ترتیب نام‌ها در CallableOptions::feed() مطابقت داشته باشد و ترتیب تانسورها در fetch_tensors با ترتیب نام‌ها در CallableOptions::fetch() هنگام ایجاد این زیرگراف مطابقت خواهد داشت. توجه: این API هنوز آزمایشی است و ممکن است تغییر کند.

~جلسه کلاینت

 ~ClientSession()