How do I convert a winrt::Microsoft::AI::MachineLearning::TensorFloat type back to ID3D12Resource


I am loading an image to the GPU by leveraging ID3D12Resource type. And I found some documentation on how to convert the ID3D12Resource to a Microsoft::AI::MachineLearning::TensorFloat in the Microsoft documentation, but I can’t seem to find how to revert it back to ID3D12Resource.

I am following the Machine Learning samples from Microsoft documentation, and the output from the model evaluation is a Microsoft::AI::MachineLearning::TensorFloat type:

How do I take the model output that is a TensorFloat type and convert it back to ID3D12Resource. Ideally, I would like to override the content from the original ID3D12Resource input with the return of the model.

Thank you for your help 🙂


In order to get the model’s output as a D3D12Resource type you can just do the following:

com_ptr<ID3D12Resource> resultResource;
results.Outputs().Lookup(outputName).as<ITensorNative>()->GetD3D12Resource( resultResource.put() );

Documentation reference:

Answered By – Anna Maule

This Answer collected from stackoverflow, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply

(*) Required, Your email will not be published