เทนเซอร์โฟลว์:: ปฏิบัติการ:: พาร์ติชั่นแบบไดนามิก

#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