เทนเซอร์โฟลว์:: ปฏิบัติการ:: พาร์ติชั่นแบบไดนามิก
#include <data_flow_ops.h>
แบ่งพาร์ติชัน data
เป็นเทนเซอร์ num_partitions
โดยใช้ดัชนีจาก partitions
สรุป
สำหรับแต่ละดัชนี tuple js
ของขนาด partitions.ndim
ชิ้น data[js, ...]
จะกลายเป็นส่วนหนึ่งของ outputs[partitions[js]]
ชิ้นที่มี partitions[js] = i
จะถูกวางไว้ใน outputs[i]
ตามลำดับพจนานุกรมของ js
และมิติแรกของ outputs[i]
คือจำนวนรายการใน partitions
เท่ากับ i
ในรายละเอียด
outputs[i].shape = [sum(partitions == i)] + data.shape[partitions.ndim:]
outputs[i] = pack([data[js, ...] for js if partitions[js] == i])
data.shape
ต้องเริ่มต้นด้วย partitions.shape
ตัวอย่างเช่น:
# Scalar partitions. partitions = 1 num_partitions = 2 data = [10, 20] outputs[0] = [] # Empty with shape [0, 2] outputs[1] = [[10, 20]]
# Vector partitions. partitions = [0, 0, 1, 1, 0] num_partitions = 2 data = [10, 20, 30, 40, 50] outputs[0] = [10, 20, 50] outputs[1] = [30, 40]
ดู dynamic_stitch
สำหรับตัวอย่างเกี่ยวกับวิธีการรวมพาร์ติชันกลับ
ข้อโต้แย้ง:
- ขอบเขต: วัตถุ ขอบเขต
- พาร์ติชัน: รูปร่าง ใดก็ได้ ดัชนีในช่วง
[0, num_partitions)
- num_partitions: จำนวนพาร์ติชันที่จะส่งออก
ผลตอบแทน:
-
OutputList
: เทนเซอร์เอาท์พุต
ตัวสร้างและผู้ทำลาย | |
---|---|
DynamicPartition (const :: tensorflow::Scope & scope, :: tensorflow::Input data, :: tensorflow::Input partitions, int64 num_partitions) |
คุณลักษณะสาธารณะ | |
---|---|
operation | |
outputs |
งานสาธารณะ | |
---|---|
operator[] (size_t index) const |
คุณลักษณะสาธารณะ
การดำเนินการ
Operation operation
เอาท์พุท
::tensorflow::OutputList outputs
งานสาธารณะ
พาร์ติชั่นแบบไดนามิก
DynamicPartition( const ::tensorflow::Scope & scope, ::tensorflow::Input data, ::tensorflow::Input partitions, int64 num_partitions )
โอเปอเรเตอร์[]
::tensorflow::Output operator[]( size_t index ) const