เทนเซอร์โฟลว์:: เซสชันไคลเอ็นต์
#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::vectoroutputs; 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 | พิมพ์defint64 ตัวจัดการกราฟย่อยที่สร้างด้วย ClientSession::MakeCallable() |
FeedType | พิมพ์defstd::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 เช่นเดียวกับข้างต้น นอกจากนี้ รันการดำเนินการ 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 | 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 ด้วยตัวเลือกที่กำหนดและเทนเซอร์อินพุต |
ประเภทสาธารณะ
ประเภทฟีด
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 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
เช่นเดียวกับข้างต้น
นอกจากนี้ อนุญาตให้ผู้ใช้จัดเตรียมการใช้งานเธรดพูลแบบกำหนดเองผ่าน 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()