Skip to content

BramFactor Setup and getting: cannot open shared object file: No such file or directory #1406

@zsrabbani

Description

@zsrabbani

I’m working with a ResNet model with 10,192 parameters. When I compile it with HLS4ML in the usual way, the BRAM usage is heavily exceeded. To address this, I tried switching to the BRAM implementation and used the BramFactor parameter. However, when I compile with this setup, I get a strange error. (Without setting BramFactor, I did not get the error.)I’d really appreciate your help in figuring out what’s going wrong.

Error

Image

Details

import hls4ml
from hls4ml.utils.config import config_from_keras_model
hls_config = config_from_keras_model(optimized_model, granularity='Model')
hls_config['Model']['Strategy'] = 'Resource'
hls_config['Model']["BramFactor"] = 2000
hls_config['Model']['ReuseFactor'] = 36
hls_model = hls4ml.converters.convert_from_keras_model(
optimized_model, hls_config=hls_config, output_dir='k_ResNet_rml',
backend='VivadoAccelerator', part='xczu7ev-ffvc1156-2-e', io_type='io_stream')

hls_model.compile()

Model

rf_input (InputLayer) [(None, 32, 32, 2)] 0

conv2d (Conv2D) (None, 32, 32, 16) 288

batch_normalization (BatchNorm (None, 32, 32, 16) 64
alization)

activation (Activation) (None, 32, 32, 16) 0

batch_normalization_1 (BatchNo (None, 32, 32, 16) 64
rmalization)

activation_1 (Activation) (None, 32, 32, 16) 0

conv2d_1 (Conv2D) (None, 32, 32, 4) 576

batch_normalization_2 (BatchNo (None, 32, 32, 4) 16
rmalization)

activation_2 (Activation) (None, 32, 32, 4) 0

conv2d_2 (Conv2D) (None, 32, 32, 4) 144

batch_normalization_3 (BatchNo (None, 32, 32, 4) 16
rmalization)

activation_3 (Activation) (None, 32, 32, 4) 0

conv2d_3 (Conv2D) (None, 32, 32, 16) 576

add (Add) (None, 32, 32, 16) 0
batch_normalization_4 (BatchNo (None, 32, 32, 16) 64
rmalization)

activation_4 (Activation) (None, 32, 32, 16) 0

conv2d_4 (Conv2D) (None, 32, 32, 4) 576

batch_normalization_5 (BatchNo (None, 32, 32, 4) 16
rmalization)

activation_5 (Activation) (None, 32, 32, 4) 0

conv2d_5 (Conv2D) (None, 32, 32, 4) 144

batch_normalization_6 (BatchNo (None, 32, 32, 4) 16
rmalization)

activation_6 (Activation) (None, 32, 32, 4) 0

conv2d_6 (Conv2D) (None, 32, 32, 16) 576

add_1 (Add) (None, 32, 32, 16) 0
batch_normalization_7 (BatchNo (None, 32, 32, 16) 64
rmalization)

activation_7 (Activation) (None, 32, 32, 16) 0

conv2d_7 (Conv2D) (None, 32, 32, 4) 576

batch_normalization_8 (BatchNo (None, 32, 32, 4) 16
rmalization)

activation_8 (Activation) (None, 32, 32, 4) 0

conv2d_8 (Conv2D) (None, 32, 32, 4) 144

batch_normalization_9 (BatchNo (None, 32, 32, 4) 16
rmalization)

activation_9 (Activation) (None, 32, 32, 4) 0

conv2d_9 (Conv2D) (None, 32, 32, 16) 576

add_2 (Add) (None, 32, 32, 16) 0

conv2d_10 (Conv2D) (None, 32, 32, 16) 2304

batch_normalization_10 (BatchN (None, 32, 32, 16) 64
ormalization)

activation_10 (Activation) (None, 32, 32, 16) 0

global_average_pooling2d (Glob (None, 16) 0
alAveragePooling2D)

flatten (Flatten) (None, 16) 0 '
dense (Dense) (None, 64) 1024

dropout (Dropout) (None, 64) 0

dense_1 (Dense) (None, 32) 2048

dropout_1 (Dropout) (None, 32) 0

dense_2 (Dense) (None, 7) 224

==================================================================================================
Total params: 10,192
Trainable params: 9,984
Non-trainable params: 208

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions