#include <ml/neural_net/mps_compute_context.hpp>
|
| mps_compute_context (std::unique_ptr< mps_command_queue > command_queue) |
|
void | print_training_device_info () const override |
|
size_t | memory_budget () const override |
|
std::unique_ptr< model_backend > | create_object_detector (int n, int c_in, int h_in, int w_in, int c_out, int h_out, int w_out, const float_array_map &config, const float_array_map &weights) override |
|
std::unique_ptr< model_backend > | create_activity_classifier (const ac_parameters &ac_params) override |
|
std::unique_ptr< model_backend > | create_style_transfer (const float_array_map &config, const float_array_map &weights) override |
|
std::unique_ptr< model_backend > | create_drawing_classifier (const float_array_map &weights, size_t batch_size, size_t num_classes) override |
|
std::unique_ptr< image_augmenter > | create_image_augmenter (const image_augmenter::options &opts) override |
|
virtual std::unique_ptr< turi::neural_net::model_backend > | create_multilayer_perceptron_classifier (int n, int c_in, int c_out, const std::vector< size_t > &layer_sizes, const turi::neural_net::float_array_map &config) |
|
A compute_context implementation backed by Apple frameworks: Metal Performance Shaders for neural network computation and Core Image for data augmentation.
Definition at line 25 of file mps_compute_context.hpp.
◆ factory
◆ mps_compute_context()
turi::neural_net::mps_compute_context::mps_compute_context |
( |
std::unique_ptr< mps_command_queue > |
command_queue | ) |
|
Constructs a context wrapping the given Metal command queue.
◆ create()
static std::unique_ptr<compute_context> turi::neural_net::compute_context::create |
( |
| ) |
|
|
staticinherited |
Requests a compute_context from each registered compute_context::factory, in ascending order by "priority", until one returns non-nil. Factories should be registered so that this function yields a backend appropriate to the current platform and hardware.
◆ create_activity_classifier()
std::unique_ptr<model_backend> turi::neural_net::mps_compute_context::create_activity_classifier |
( |
const ac_parameters & |
ac_params | ) |
|
|
overridevirtual |
◆ create_drawing_classifier()
std::unique_ptr<model_backend> turi::neural_net::mps_compute_context::create_drawing_classifier |
( |
const float_array_map & |
weights, |
|
|
size_t |
batch_size, |
|
|
size_t |
num_classes |
|
) |
| |
|
overridevirtual |
◆ create_image_augmenter()
◆ create_image_augmenter_for_testing()
static std::unique_ptr<image_augmenter> turi::neural_net::mps_compute_context::create_image_augmenter_for_testing |
( |
const image_augmenter::options & |
opts, |
|
|
std::function< float(float lower, float upper)> |
rng |
|
) |
| |
|
static |
Alternate implementation of create_image_augmenter supporting injection of the random number generator, for test purposes.
◆ create_multilayer_perceptron_classifier()
virtual std::unique_ptr<turi::neural_net::model_backend> turi::neural_net::compute_context::create_multilayer_perceptron_classifier |
( |
int |
n, |
|
|
int |
c_in, |
|
|
int |
c_out, |
|
|
const std::vector< size_t > & |
layer_sizes, |
|
|
const turi::neural_net::float_array_map & |
config |
|
) |
| |
|
inlinevirtualinherited |
◆ create_object_detector()
std::unique_ptr<model_backend> turi::neural_net::mps_compute_context::create_object_detector |
( |
int |
n, |
|
|
int |
c_in, |
|
|
int |
h_in, |
|
|
int |
w_in, |
|
|
int |
c_out, |
|
|
int |
h_out, |
|
|
int |
w_out, |
|
|
const float_array_map & |
config, |
|
|
const float_array_map & |
weights |
|
) |
| |
|
overridevirtual |
◆ create_style_transfer()
std::unique_ptr<model_backend> turi::neural_net::mps_compute_context::create_style_transfer |
( |
const float_array_map & |
config, |
|
|
const float_array_map & |
weights |
|
) |
| |
|
overridevirtual |
◆ memory_budget()
size_t turi::neural_net::mps_compute_context::memory_budget |
( |
| ) |
const |
|
overridevirtual |
Provides a measure of the memory resources available.
Returns the maximum memory size in bytes that neural networks should allocate, typically used to determine batch sizes (often heuristically).
Implements turi::neural_net::compute_context.
◆ print_training_device_info()
void turi::neural_net::mps_compute_context::print_training_device_info |
( |
| ) |
const |
|
overridevirtual |
The documentation for this class was generated from the following file: