tensorflow:: ClientSession

#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)
สร้างเซสชันใหม่เพื่อประเมินกราฟที่อยู่ใน scope โดยเชื่อมต่อกับรันไทม์ TensorFlow ที่ระบุโดย target
ClientSession (const Scope & scope)
เช่นเดียวกับข้างต้น แต่ใช้สตริงว่าง ("") เป็นตัวกำหนดเป้าหมาย
ClientSession (const Scope & scope, const SessionOptions & session_options)
สร้างเซสชันใหม่ โดยกำหนดค่าด้วย session_options
~ClientSession ()

ประเภทสาธารณะ

CallableHandle typedef
int64
ตัวชี้ไปยังกราฟย่อยที่สร้างขึ้นด้วย ClientSession::MakeCallable()
FeedType typedef
std::unordered_map< Output , Input::Initializer , OutputHash >
ประเภทข้อมูลที่ใช้แสดงฟีดไปยังการเรียกใช้ฟังก์ชัน Run

หน้าที่สาธารณะ

MakeCallable (const CallableOptions & callable_options, CallableHandle *out_handle)
Status
สร้าง handle สำหรับการเรียกใช้ซับกราฟที่กำหนดโดย callable_options
ReleaseCallable ( CallableHandle handle)
Status
ปล่อยทรัพยากรที่เกี่ยวข้องกับ handle ที่กำหนดในเซสชันนี้
Run (const std::vector< Output > & fetch_outputs, std::vector< Tensor > *outputs) const
Status
ประเมินเทนเซอร์ใน fetch_outputs
Run (const FeedType & inputs, const std::vector< Output > & fetch_outputs, std::vector< Tensor > *outputs) const
Status
เช่นเดียวกับข้างต้น แต่ใช้การแมปใน inputs เป็นฟีดแทน
Run (const FeedType & inputs, const std::vector< Output > & fetch_outputs, const std::vector< Operation > & run_outputs, std::vector< Tensor > *outputs) const
Status
เช่นเดียวกับข้างต้น นอกจากนี้ยังดำเนินการใน 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
Status
ใช้ run_options เพื่อเปิดใช้งานการวิเคราะห์ประสิทธิภาพ
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 thread::ThreadPoolOptions & threadpool_options) const
Status
เหมือนกับข้างบน
RunCallable ( CallableHandle handle, const std::vector< Tensor > & feed_tensors, std::vector< Tensor > *fetch_tensors, RunMetadata *run_metadata)
Status
เรียกใช้ซับกราฟที่ระบุชื่อตาม handle พร้อมด้วยตัวเลือกและเทนเซอร์อินพุตที่กำหนด
RunCallable ( CallableHandle handle, const std::vector< Tensor > & feed_tensors, std::vector< Tensor > *fetch_tensors, RunMetadata *run_metadata, const thread::ThreadPoolOptions & options)
Status
เรียกใช้ซับกราฟที่ระบุชื่อตาม handle พร้อมด้วยตัวเลือกและเทนเซอร์อินพุตที่กำหนด

ประเภทสาธารณะ

แฮนด์เดิลที่เรียกได้

int64 CallableHandle

ตัวชี้ไปยังกราฟย่อยที่สร้างขึ้นด้วย ClientSession::MakeCallable()

ประเภทฟีด

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

ประเภทข้อมูลที่ใช้แสดงฟีดไปยังการเรียกใช้ฟังก์ชัน Run

นี่คือแผนที่แสดงความสัมพันธ์ระหว่างอ็อบเจ็กต์ Output ที่ส่งคืนโดยตัวสร้าง op กับค่าที่จะป้อนเข้าไป ดูรายละเอียดเพิ่มเติมได้ที่ Input::Initializer สำหรับข้อมูลเกี่ยวกับค่าที่สามารถใช้เป็นค่าป้อนได้

หน้าที่สาธารณะ

เซสชันลูกค้า

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

สร้างเซสชันใหม่เพื่อประเมินกราฟที่อยู่ใน scope โดยเชื่อมต่อกับรันไทม์ TensorFlow ที่ระบุโดย target

เซสชันลูกค้า

 ClientSession(
  const Scope & scope
)

เช่นเดียวกับข้างต้น แต่ใช้สตริงว่าง ("") เป็นตัวกำหนดเป้าหมาย

เซสชันลูกค้า

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

สร้างเซสชันใหม่ โดยกำหนดค่าด้วย session_options

สร้าง Callable

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 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 thread::ThreadPoolOptions & threadpool_options
) const 

เหมือนกับข้างบน

นอกจากนี้ยังอนุญาตให้ผู้ใช้กำหนดการใช้งาน threadpool แบบกำหนดเองได้ผ่านทาง ThreadPoolOptions

รันคอลเบิล

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