hls4ml.model package¶
Subpackages¶
- hls4ml.model.optimizer package
- Subpackages
- hls4ml.model.optimizer.passes package
- Submodules
- hls4ml.model.optimizer.passes.bn_fuse module
- hls4ml.model.optimizer.passes.bn_quant module
- hls4ml.model.optimizer.passes.clone module
- hls4ml.model.optimizer.passes.conv_same_pad module
- hls4ml.model.optimizer.passes.fuse_biasadd module
- hls4ml.model.optimizer.passes.nop module
- hls4ml.model.optimizer.passes.pointwise module
- hls4ml.model.optimizer.passes.qkeras module
- hls4ml.model.optimizer.passes.repack_stream module
- Module contents
- hls4ml.model.optimizer.passes package
- Submodules
- hls4ml.model.optimizer.optimizer module
- Module contents
- Subpackages
Submodules¶
hls4ml.model.hls_layers module¶
-
class
hls4ml.model.hls_layers.Activation(model, name, attributes, inputs, outputs=None)¶ Bases:
hls4ml.model.hls_layers.Layer-
config_cpp()¶
-
function_cpp()¶
-
initialize()¶
-
-
class
hls4ml.model.hls_layers.ArrayVariable(shape, dim_names, var_name='layer{index}', type_name='layer{index}_t', precision=None, pragma='partition', **kwargs)¶ Bases:
hls4ml.model.hls_layers.Variable-
definition_cpp()¶
-
get_shape()¶
-
size()¶
-
size_cpp()¶
-
-
class
hls4ml.model.hls_layers.BatchNormalization(model, name, attributes, inputs, outputs=None)¶ Bases:
hls4ml.model.hls_layers.Layer-
config_cpp()¶
-
function_cpp()¶
-
initialize()¶
-
-
class
hls4ml.model.hls_layers.BiasAdd(model, name, attributes, inputs, outputs=None)¶ Bases:
hls4ml.model.hls_layers.Merge-
config_cpp()¶
-
function_cpp()¶
-
initialize()¶
-
-
class
hls4ml.model.hls_layers.CompressedType(name, precision, index_precision, **kwargs)¶ Bases:
hls4ml.model.hls_layers.HLSType-
definition_cpp()¶
-
-
class
hls4ml.model.hls_layers.CompressedWeightVariable(var_name, type_name, precision, data, reuse_factor, quantizer=None, **kwargs)¶ Bases:
hls4ml.model.hls_layers.WeightVariable-
next()¶
-
-
class
hls4ml.model.hls_layers.Concatenate(model, name, attributes, inputs, outputs=None)¶ Bases:
hls4ml.model.hls_layers.Merge-
config_cpp()¶
-
initialize()¶
-
-
class
hls4ml.model.hls_layers.Conv1D(model, name, attributes, inputs, outputs=None)¶ Bases:
hls4ml.model.hls_layers.Layer-
config_cpp()¶
-
function_cpp()¶
-
initialize()¶
-
-
class
hls4ml.model.hls_layers.Conv2D(model, name, attributes, inputs, outputs=None)¶ Bases:
hls4ml.model.hls_layers.Layer-
config_cpp()¶
-
function_cpp()¶
-
initialize()¶
-
-
class
hls4ml.model.hls_layers.Dense(model, name, attributes, inputs, outputs=None)¶ Bases:
hls4ml.model.hls_layers.Layer-
config_cpp()¶
-
function_cpp()¶
-
initialize()¶
-
-
class
hls4ml.model.hls_layers.DepthwiseConv2D(model, name, attributes, inputs, outputs=None)¶ Bases:
hls4ml.model.hls_layers.Conv2D-
initialize()¶
-
-
class
hls4ml.model.hls_layers.Dot(model, name, attributes, inputs, outputs=None)¶ Bases:
hls4ml.model.hls_layers.Merge-
config_cpp()¶
-
initialize()¶
-
-
class
hls4ml.model.hls_layers.ExponentPrecisionType(width=16, signed=True)¶ Bases:
hls4ml.model.hls_layers.IntegerPrecisionTypeConvenience class to differentiate ‘regular’ integers from those which represent exponents, for QKeras po2 quantizers, for example.
-
class
hls4ml.model.hls_layers.ExponentType(name, precision, **kwargs)¶ Bases:
hls4ml.model.hls_layers.HLSType-
definition_cpp()¶
-
-
class
hls4ml.model.hls_layers.ExponentWeightVariable(var_name, type_name, precision, data, quantizer, **kwargs)¶ Bases:
hls4ml.model.hls_layers.WeightVariable-
next()¶
-
-
class
hls4ml.model.hls_layers.FixedPrecisionType(width=16, integer=6, signed=True, rounding_mode=None, saturation_mode=None, saturation_bits=None)¶ Bases:
object
-
class
hls4ml.model.hls_layers.GarNet(model, name, attributes, inputs, outputs=None)¶ Bases:
hls4ml.model.hls_layers.Layer-
config_cpp()¶
-
function_cpp()¶
-
initialize()¶
-
ref_impl= False¶
-
-
class
hls4ml.model.hls_layers.GarNetStack(model, name, attributes, inputs, outputs=None)¶
-
class
hls4ml.model.hls_layers.GlobalPooling1D(model, name, attributes, inputs, outputs=None)¶ Bases:
hls4ml.model.hls_layers.Layer-
config_cpp()¶
-
function_cpp()¶
-
initialize()¶
-
-
class
hls4ml.model.hls_layers.GlobalPooling2D(model, name, attributes, inputs, outputs=None)¶ Bases:
hls4ml.model.hls_layers.Layer-
config_cpp()¶
-
function_cpp()¶
-
initialize()¶
-
-
class
hls4ml.model.hls_layers.InplaceVariable(shape, dim_names, proxy, **kwargs)¶ Bases:
object-
definition_cpp()¶
-
get_shape()¶
-
size_cpp()¶
-
-
class
hls4ml.model.hls_layers.Input(model, name, attributes, inputs, outputs=None)¶ Bases:
hls4ml.model.hls_layers.Layer-
config_cpp()¶
-
function_cpp()¶
-
initialize()¶
-
-
class
hls4ml.model.hls_layers.IntegerPrecisionType(width=16, signed=True)¶ Bases:
object
-
class
hls4ml.model.hls_layers.Layer(model, name, attributes, inputs, outputs=None)¶ Bases:
object-
add_bias(quantizer=None)¶
-
add_output_variable(shape, dim_names, out_name=None, var_name='layer{index}_out', type_name='layer{index}_t', precision=None, pragma='auto')¶
-
add_weights(quantizer=None, compression=False)¶
-
add_weights_variable(name, var_name=None, type_name=None, precision=None, data=None, quantizer=None, compression=False)¶
-
config_cpp()¶
-
function_cpp()¶
-
get_attr(key, default=None)¶
-
get_input_node(input_name=None)¶
-
get_input_variable(input_name=None)¶
-
get_layer_precision()¶
-
get_numbers_cpp()¶
-
get_output_nodes(output_name=None)¶
-
get_output_variable(output_name=None)¶
-
get_variables()¶
-
get_weights(var_name=None)¶
-
initialize()¶
-
make_array_variable(shape, dim_names, var_name='layer{index}_out', type_name='layer{index}_t', precision=None, pragma='auto')¶
-
make_stream_variable(shape, dim_names, var_name='layer{index}_out', type_name='layer{index}_t', precision=None, depth=0)¶
-
precision_cpp()¶
-
set_attr(key, value)¶
-
-
class
hls4ml.model.hls_layers.Merge(model, name, attributes, inputs, outputs=None)¶ Bases:
hls4ml.model.hls_layers.Layer-
config_cpp()¶
-
function_cpp()¶
-
initialize()¶
-
-
class
hls4ml.model.hls_layers.PReLU(model, name, attributes, inputs, outputs=None)¶ Bases:
hls4ml.model.hls_layers.Activation-
function_cpp()¶
-
initialize()¶
-
-
class
hls4ml.model.hls_layers.PackedType(name, precision, n_elem, n_pack, **kwargs)¶ Bases:
hls4ml.model.hls_layers.HLSType-
definition_cpp()¶
-
-
class
hls4ml.model.hls_layers.ParametrizedActivation(model, name, attributes, inputs, outputs=None)¶ Bases:
hls4ml.model.hls_layers.Activation-
function_cpp()¶
-
-
class
hls4ml.model.hls_layers.Pooling1D(model, name, attributes, inputs, outputs=None)¶ Bases:
hls4ml.model.hls_layers.Layer-
config_cpp()¶
-
function_cpp()¶
-
initialize()¶
-
-
class
hls4ml.model.hls_layers.Pooling2D(model, name, attributes, inputs, outputs=None)¶ Bases:
hls4ml.model.hls_layers.Layer-
config_cpp()¶
-
function_cpp()¶
-
initialize()¶
-
-
class
hls4ml.model.hls_layers.Quantizer(bits, hls_type)¶ Bases:
object
-
class
hls4ml.model.hls_layers.Reshape(model, name, attributes, inputs, outputs=None)¶ Bases:
hls4ml.model.hls_layers.Layer-
config_cpp()¶
-
function_cpp()¶
-
initialize()¶
-
-
class
hls4ml.model.hls_layers.Resize(model, name, attributes, inputs, outputs=None)¶ Bases:
hls4ml.model.hls_layers.Layer-
config_cpp()¶
-
function_cpp()¶
-
initialize()¶
-
-
class
hls4ml.model.hls_layers.SeparableConv1D(model, name, attributes, inputs, outputs=None)¶ Bases:
hls4ml.model.hls_layers.Layer-
config_cpp()¶
-
function_cpp()¶
-
initialize()¶
-
-
class
hls4ml.model.hls_layers.SeparableConv2D(model, name, attributes, inputs, outputs=None)¶ Bases:
hls4ml.model.hls_layers.Layer-
config_cpp()¶
-
function_cpp()¶
-
initialize()¶
-
-
class
hls4ml.model.hls_layers.Softmax(model, name, attributes, inputs, outputs=None)¶ Bases:
hls4ml.model.hls_layers.Activation-
initialize()¶
-
-
class
hls4ml.model.hls_layers.StreamVariable(shape, dim_names, var_name='layer{index}', type_name='layer{index}_t', precision=None, n_pack=1, depth=0, **kwargs)¶ Bases:
hls4ml.model.hls_layers.Variable-
get_shape()¶
-
size()¶
-
size_cpp()¶
-
-
class
hls4ml.model.hls_layers.Transpose(model, name, attributes, inputs, outputs=None)¶ Bases:
hls4ml.model.hls_layers.Layer-
config_cpp()¶
-
function_cpp()¶
-
initialize()¶
-
-
class
hls4ml.model.hls_layers.Variable(var_name, atype, **kwargs)¶ Bases:
object
-
class
hls4ml.model.hls_layers.WeightVariable(var_name, type_name, precision, data, quantizer=None, **kwargs)¶ Bases:
hls4ml.model.hls_layers.Variable-
definition_cpp()¶
-
next()¶
-
update_precision(new_precision)¶
-
-
class
hls4ml.model.hls_layers.XnorPrecisionType¶ Bases:
hls4ml.model.hls_layers.IntegerPrecisionTypeConvenience class to differentiate ‘regular’ integers from BNN Xnor ones
-
class
hls4ml.model.hls_layers.ZeroPadding1D(model, name, attributes, inputs, outputs=None)¶ Bases:
hls4ml.model.hls_layers.Layer-
config_cpp()¶
-
function_cpp()¶
-
initialize()¶
-
-
class
hls4ml.model.hls_layers.ZeroPadding2D(model, name, attributes, inputs, outputs=None)¶ Bases:
hls4ml.model.hls_layers.Layer-
config_cpp()¶
-
function_cpp()¶
-
initialize()¶
-
-
hls4ml.model.hls_layers.find_minimum_width(data, signed=True)¶ Helper function to find the minimum integer width to express all entries in the data array without saturation / overflow
-
hls4ml.model.hls_layers.register_layer(name, clazz)¶
hls4ml.model.hls_model module¶
-
class
hls4ml.model.hls_model.HLSConfig(config)¶ Bases:
object-
get_compression(layer)¶
-
get_config_value(key, default=None)¶
-
get_layer_config(layer)¶
-
get_layer_config_value(layer, key, default=None)¶
-
get_output_dir()¶
-
get_precision(layer, var='default')¶
-
get_project_name()¶
-
get_reuse_factor(layer)¶
-
get_strategy(layer)¶
-
is_resource_strategy(layer)¶
-
-
class
hls4ml.model.hls_model.HLSModel(config, data_reader, layer_list, inputs=None, outputs=None)¶ Bases:
object-
build(reset=False, csim=True, synth=True, cosim=False, validation=False, export=False, vsynth=False)¶
-
compile()¶
-
get_input_variables()¶
-
get_layer_output_variable(output_name)¶
-
get_layers()¶
-
get_output_variables()¶
-
get_weights_data(layer_name, var_name)¶
-
insert_node(node)¶
-
make_node(kind, name, attributes, inputs, outputs=None)¶
-
next_layer()¶
-
predict(x)¶
-
register_output_variable(out_name, variable)¶
-
remove_node(node, rewire=True)¶
-
replace_node(old_node, new_node)¶
-
trace(x)¶
-
write()¶
-