Hello,
I have found that,
static void
write_infer_output_to_file (GstBuffer *buf,
NvDsInferNetworkInfo *network_info, NvDsInferLayerInfo *layers_info,
guint num_layers, guint batch_size, gpointer user_data)
{
NvDsGieConfig *config = (NvDsGieConfig *) user_data;
guint i;
/* "gst_buffer_get_nvstream_meta()" can be called on the GstBuffer to get more
* information about the buffer.*/
for (i = 0; i < num_layers; i++) {
NvDsInferLayerInfo *info = &layers_info[i];
guint element_size = 0;
FILE *file;
gchar file_name[PATH_MAX];
gchar layer_name[128];
guint j;
switch (info->dataType) {
case FLOAT: element_size = 4; break;
case HALF: element_size = 2; break;
case INT32: element_size = 4; break;
case INT8: element_size = 1; break;
}
g_strlcpy (layer_name, info->layerName, 128);
for (j = 0; layer_name[j] != '
static void
write_infer_output_to_file (GstBuffer *buf,
NvDsInferNetworkInfo *network_info, NvDsInferLayerInfo *layers_info,
guint num_layers, guint batch_size, gpointer user_data)
{
NvDsGieConfig *config = (NvDsGieConfig *) user_data;
guint i;
/* “gst_buffer_get_nvstream_meta()” can be called on the GstBuffer to get more
- information about the buffer.*/
for (i = 0; i < num_layers; i++) {
NvDsInferLayerInfo *info = &layers_info[i];
guint element_size = 0;
FILE *file;
gchar file_name[PATH_MAX];
gchar layer_name[128];
guint j;
switch (info->dataType) {
case FLOAT: element_size = 4; break;
case HALF: element_size = 2; break;
case INT32: element_size = 4; break;
case INT8: element_size = 1; break;
}
g_strlcpy (layer_name, info->layerName, 128);
for (j = 0; layer_name[j] != '\0'; j++) {
layer_name[j] = (layer_name[j] == '/') ? '_' : layer_name[j];
}
g_snprintf (file_name, PATH_MAX,
"%s/%s_batch%010lu_batchsize%02d.bin",
config->raw_output_directory, layer_name,
config->file_write_frame_num, batch_size);
file_name[PATH_MAX - 1] = '\0';
file = fopen (file_name, "w");
if (!file) {
g_printerr ("Could not open file '%s' for writing:%s\n",
file_name, strerror(errno));
continue;
}
fwrite (info->buffer, element_size, info->dims.numElements * batch_size, file);
fclose (file);
}
config->file_write_frame_num++;
}
'; j++) {
layer_name[j] = (layer_name[j] == '/') ? '_' : layer_name[j];
}
g_snprintf (file_name, PATH_MAX,
"%s/%s_batch%010lu_batchsize%02d.bin",
config->raw_output_directory, layer_name,
config->file_write_frame_num, batch_size);
file_name[PATH_MAX - 1] = '
static void
write_infer_output_to_file (GstBuffer *buf,
NvDsInferNetworkInfo *network_info, NvDsInferLayerInfo *layers_info,
guint num_layers, guint batch_size, gpointer user_data)
{
NvDsGieConfig *config = (NvDsGieConfig *) user_data;
guint i;
/* “gst_buffer_get_nvstream_meta()” can be called on the GstBuffer to get more
- information about the buffer.*/
for (i = 0; i < num_layers; i++) {
NvDsInferLayerInfo *info = &layers_info[i];
guint element_size = 0;
FILE *file;
gchar file_name[PATH_MAX];
gchar layer_name[128];
guint j;
switch (info->dataType) {
case FLOAT: element_size = 4; break;
case HALF: element_size = 2; break;
case INT32: element_size = 4; break;
case INT8: element_size = 1; break;
}
g_strlcpy (layer_name, info->layerName, 128);
for (j = 0; layer_name[j] != '\0'; j++) {
layer_name[j] = (layer_name[j] == '/') ? '_' : layer_name[j];
}
g_snprintf (file_name, PATH_MAX,
"%s/%s_batch%010lu_batchsize%02d.bin",
config->raw_output_directory, layer_name,
config->file_write_frame_num, batch_size);
file_name[PATH_MAX - 1] = '\0';
file = fopen (file_name, "w");
if (!file) {
g_printerr ("Could not open file '%s' for writing:%s\n",
file_name, strerror(errno));
continue;
}
fwrite (info->buffer, element_size, info->dims.numElements * batch_size, file);
fclose (file);
}
config->file_write_frame_num++;
}
';
file = fopen (file_name, "w");
if (!file) {
g_printerr ("Could not open file '%s' for writing:%s\n",
file_name, strerror(errno));
continue;
}
fwrite (info->buffer, element_size, info->dims.numElements * batch_size, file);
fclose (file);
}
config->file_write_frame_num++;
}
but the code piece only save a binary buffer,I could not find how to get the output of the layer from the binary buffer.
Any message is appreciated!