DML_RESAMPLE_OPERATOR_DESC struttura (directml.h)
Rimplifica gli elementi dall'origine al tensore di destinazione, usando i fattori di scala per calcolare le dimensioni del tensore di destinazione. È possibile usare una modalità di interpolazione lineare o vicina più vicina. L'operatore supporta l'interpolazione tra più dimensioni, non solo 2D. È quindi possibile mantenere la stessa dimensione spaziale, ma interpolare tra canali o in batch.
Sintassi
struct DML_RESAMPLE_OPERATOR_DESC {
const DML_TENSOR_DESC *InputTensor;
const DML_TENSOR_DESC *OutputTensor;
DML_INTERPOLATION_MODE InterpolationMode;
UINT ScaleCount;
const FLOAT *Scales;
};
Members
InputTensor
Tipo: const DML_TENSOR_DESC*
Tensore contenente i dati di input.
OutputTensor
Tipo: const DML_TENSOR_DESC*
Tensor in cui scrivere i dati di output.
InterpolationMode
Tipo: DML_INTERPOLATION_MODE
Questo campo determina il tipo di interpolazione utilizzata per scegliere i pixel di output.
DML_INTERPOLATION_MODE_NEAREST_NEIGHBOR. Usa l'algoritmo Nearest Neighbor, che sceglie l'elemento di input più vicino al centro pixel corrispondente per ogni elemento di output.
DML_INTERPOLATION_MODE_LINEAR. Usa l'algoritmo di interpolazione lineare , che calcola l'elemento di output calcolando la media ponderata dei 2 elementi di input vicini più vicini per dimensione. Il rimpling è supportato fino a 4 dimensioni (quadrilinea), dove la media ponderata viene calcolata su un totale di 16 elementi di input per ogni elemento di output.
ScaleCount
Tipo: UINT
Numero di valori nella matrice Scales
a cui punta. Questo valore deve corrispondere al conteggio delle dimensioni di InputTensor e OutputTensor.
Scales
Tipo: _Field_size_(ScaleCount) const FLOAT*
Le scalabilità da applicare quando si esegue il ricampionamento dell'input, in cui la > scala 1 aumenta l'immagine e < ridimensiona l'immagine verso il basso per tale dimensione. Si noti che le scale non devono essere esattamente OutputSize / InputSize
. Se l'input dopo il ridimensionamento è maggiore del limite di output, verrà ritagliato alla dimensione di output. D'altra parte, se l'input dopo il ridimensionamento è minore del limite di output, i bordi di output vengono bloccati.
Commenti
Una versione più recente di questo operatore, DML_RESAMPLE1_OPERATOR_DESC, è stata introdotta in DML_FEATURE_LEVEL_2_1
.
Disponibilità
Questo operatore è stato introdotto in DML_FEATURE_LEVEL_2_0
.
Vincoli tensor
InputTensor e OutputTensor devono avere lo stesso Oggetto DataType e DimensionCount.
Supporto di Tensor
DML_FEATURE_LEVEL_6_2 e versioni successive
Tensore | Tipo | Conteggi delle dimensioni supportate | Tipi di dati supportati |
---|---|---|---|
InputTensor | Input | da 1 a 4 | FLOAT32, FLOAT16, INT8, UINT8 |
OutputTensor | Output | da 1 a 4 | FLOAT32, FLOAT16, INT8, UINT8 |
DML_FEATURE_LEVEL_5_1 e versioni successive
Tensore | Tipo | Conteggi delle dimensioni supportate | Tipi di dati supportati |
---|---|---|---|
InputTensor | Input | da 1 a 4 | FLOAT32, FLOAT16 |
OutputTensor | Output | da 1 a 4 | FLOAT32, FLOAT16 |
DML_FEATURE_LEVEL_2_0 e versioni successive
Tensore | Tipo | Conteggi delle dimensioni supportate | Tipi di dati supportati |
---|---|---|---|
InputTensor | Input | 4 | FLOAT32, FLOAT16 |
OutputTensor | Output | 4 | FLOAT32, FLOAT16 |
Requisiti
Client minimo supportato | Windows 10 versione 2004 (10.0; Build 19041) |
Server minimo supportato | Windows Server, versione 2004 (10.0; Build 19041) |
Intestazione | directml.h |