เทนเซอร์โฟลว์:: เซสชันไคลเอ็นต์

#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 พิมพ์def
int64
ตัวจัดการกราฟย่อยที่สร้างด้วย ClientSession::MakeCallable()
FeedType พิมพ์def
std::unordered_map< Output , Input::Initializer , OutputHash >
ชนิดข้อมูลที่จะแสดงฟีดไปยังการโทรเรียกใช้

งานสาธารณะ

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
เช่นเดียวกับข้างต้น นอกจากนี้ รันการดำเนินการ ins 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 ด้วยตัวเลือกที่กำหนดและเทนเซอร์อินพุต

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

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

ทำให้สามารถเรียกได้

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

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

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

ปล่อย Callable

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 

เช่นเดียวกับข้างต้น นอกจากนี้ รันการดำเนินการ ins 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 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()