เทนเซอร์โฟลว์:: เซสชันลูกค้า

#include <client_session.h>

ออบเจ็กต์ ClientSession ช่วยให้ผู้เรียกสามารถขับเคลื่อนการประเมินกราฟ TensorFlow ที่สร้างด้วย C++ API

สรุป

ตัวอย่าง:

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 >
ชนิดข้อมูลที่แสดงถึงฟีดในการเรียกใช้การโทร

งานสาธารณะ

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 พร้อมตัวเลือกที่กำหนดและเทนเซอร์อินพุต

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

CallableHandle

int64 CallableHandle

แฮนเดิลของกราฟย่อยที่สร้างด้วย ClientSession::MakeCallable()

ประเภทฟีด

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

ชนิดข้อมูลที่แสดงถึงฟีดในการเรียกใช้การโทร

นี่คือแมปของวัตถุ Output ที่ส่งคืนโดย op-constructors เป็นค่าที่จะป้อน ดู 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

MakeCallable

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

สร้าง handle สำหรับการเรียกใช้กราฟย่อยที่กำหนดโดย callable_options

หมายเหตุ: API นี้ยังคงอยู่ในขั้นทดลองและอาจมีการเปลี่ยนแปลง

ReleaseCallable

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 ถ้าไม่ใช่ null จะถูกเติมด้วยผลลัพธ์การทำโปรไฟล์

วิ่ง

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

RunCallable

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 นี้ยังคงอยู่ในขั้นทดลองและอาจมีการเปลี่ยนแปลง

RunCallable

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