Python Reference#

Applies to Linux

2023-06-14

6 min read time

shape#

class migraphx.shape(type, lens, strides=None)#

Describes the shape of a tensor. This includes size, layout, and data type/

migraphx.type()#

An integer that represents the type

Return type:

int

migraphx.lens()#

A list of the lengths of the shape

Return type:

list[int]

migraphx.strides()#

A list of the strides of the shape

Return type:

list[int]

migraphx.elements()#

The number of elements in the shape

Return type:

int

migraphx.bytes()#

The number of bytes the shape uses

Return type:

int

migraphx.type_size()#

The number of bytes one element uses

Return type:

int

migraphx.packed()#

Returns true if the shape is packed.

Return type:

bool

migraphx.transposed()#

Returns true if the shape is transposed.

Return type:

bool

migraphx.broadcasted()#

Returns true if the shape is broadcasted.

Return type:

bool

migraphx.standard()#

Returns true if the shape is a standard shape. That is, the shape is both packed and not transposed.

Return type:

bool

migraphx.scalar()#

Returns true if all strides are equal to 0 (scalar tensor).

Return type:

bool

argument#

class migraphx.argument(data)#

Construct an argument from a python buffer. This can include numpy arrays.

migraphx.get_shape()#

Returns the shape of the argument.

Return type:

shape

migraphx.tolist()#

Convert the elements of the argument to a python list.

Return type:

list

migraphx.generate_argument(s, seed=0)#

Generate an argument with random data.

Parameters:
  • s (shape) – Shape of argument to generate.

  • seed (int) – The seed used for random number generation

Return type:

argument

target#

class migraphx.target#

This represents the compiliation target.

migraphx.get_target(name)#

Constructs the target.

Parameters:

name (str) – The name of the target to construct. This can either be ‘cpu’ or ‘gpu’.

Return type:

target

program#

class migraphx.program#

Represents the computation graph to be compiled and run.

migraphx.clone()#

Make a copy of the program

Return type:

program

migraphx.get_parameter_shapes()#

Get the shapes of all the input parameters in the program.

Return type:

dict[str, shape]

migraphx.get_shape()#

Get the shape of the final output of the program.

Return type:

shape

migraphx.compile(t, offload_copy=True, fast_math=True)#

Compiles the program for the target and optimizes it.

Parameters:
  • t (target) – This is the target to compile the program for.

  • offload_copy (bool) – For targets with offloaded memory(such as the gpu), this will insert instructions during compilation to copy the input parameters to the offloaded memory and to copy the final result from the offloaded memory back to main memory.

  • fast_math (bool) – Optimize math functions to use faster approximate versions. There may be slight accuracy degredation when enabled.

migraphx.run(params)#

Run the program.

Parameters:

params (dict[str, argument]) – This is a map of the input parameters which will be used when running the program.

Returns:

The result of the last instruction.

Return type:

argument

migraphx.quantize_fp16(prog, ins_names=['all'])#

Quantize the program to use fp16.

Parameters:
  • prog (program) – Program to quantize.

  • ins_names (list[str]) – List of instructions to quantize.

migraphx.quantize_int8(prog, t, calibration=[], ins_names=['dot', 'convolution'])#

Quantize the program to use int8.

Parameters:
  • prog (program) – Program to quantize.

  • t (target) – Target that will be used to run the calibration data.

  • calibration (list[dict[str, argument]]) – Calibration data used to decide the parameters to the int8 optimization.

  • ins_names (list[str]) – List of instructions to quantize.

parse_onnx#

migraphx.parse_onnx(filename, default_dim_value=1, map_input_dims={}, skip_unknown_operators=false, print_program_on_error=false)#

Load and parse an onnx file.

Parameters:
  • filename (str) – Path to file.

  • default_dim_value (str) – default batch size to use (if not specified in onnx file).

  • map_input_dims (str) – Explicitly specify the dims of an input.

  • skip_unknown_operators (str) – Continue parsing onnx file if an unknown operator is found.

  • print_program_on_error (str) – Print program if an error occurs.

Return type:

program

parse_tf#

migraphx.parse_tf(filename, is_nhwc=True, batch_size=1)#

Load and parse an tensorflow protobuf file file.

Parameters:
  • filename (str) – Path to file.

  • is_nhwc (bool) – Use nhwc as default format.

  • batch_size (str) – default batch size to use (if not specified in protobuf).

Return type:

program

load#

migraphx.load(filename, format='msgpack')#

Load a MIGraphX program

Parameters:
  • filename (str) – Path to file.

  • format (str) – Format of file. Valid options are msgpack or json.

Return type:

program

save#

migraphx.save(p, filename, format='msgpack')#

Save a MIGraphX program

Parameters:
  • p (program) – Program to save.

  • filename (str) – Path to file.

  • format (str) – Format of file. Valid options are msgpack or json.