Sangjung Woo [Wed, 6 Nov 2024 08:31:20 +0000 (17:31 +0900)]
[Spec] Skip test in case that ASAN is enabled
In case of GCC v14, the build process is stopped when ASAN option is
enabled. Build engineer suggested to skip the test in such case to avoid
the build failure.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Yelin Jeong [Tue, 5 Nov 2024 03:42:45 +0000 (12:42 +0900)]
[CodeClean] fix svace issue
This patch fixes pointer dereferenced after null.
WGID:
13147986
Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>
Yongjoo Ahn [Tue, 5 Nov 2024 04:51:24 +0000 (13:51 +0900)]
[test] Fix pipeline for `gst_parse_lanch`
- Remove erroneous "gst-launch-1.0" string in pipeline description.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Gichan Jang [Mon, 4 Nov 2024 01:07:42 +0000 (10:07 +0900)]
[README] Update badge and daily release repo
- test coverage result and badge are uploaded on github.io page.
- Use badge created by Github Action and change the action name for redability.
- Use S3 instead of EC2 for daily release.
Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
Gichan Jang [Fri, 1 Nov 2024 02:42:49 +0000 (11:42 +0900)]
[Action] Generate test coverage from github action
- Generate test coverage result and upload the result to github.io
- Generate coverage badge
Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
Gichan Jang [Fri, 1 Nov 2024 00:51:14 +0000 (09:51 +0900)]
[TEST] Add test for watchdog
- Add unit test for watchdog.
Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
Gichan Jang [Thu, 31 Oct 2024 03:02:40 +0000 (12:02 +0900)]
[Filter] Separate watchdog code
Separate watchdog code from tensor_filter.
Watchdog can be used from other element to manage time window.
Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
Gichan Jang [Wed, 30 Oct 2024 10:31:29 +0000 (19:31 +0900)]
[Filter] Add suspend mode.
When there is no input within suspend timeout, unload NN framework.
Reload the framework when the input comes again.
Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
Gichan Jang [Fri, 1 Nov 2024 08:06:02 +0000 (17:06 +0900)]
[gcov] Fix test coverage generation failure
Test coverage generation has been failed due to gcc bug.
Add comile option to fix it.
Refer: https://manpages.debian.org/unstable/lcov/geninfo.1.en.html#negative:
Signed-off-by: Gichan Jang <gichan2.jang@samsung.com>
MyungJoo Ham [Mon, 21 Oct 2024 09:37:43 +0000 (18:37 +0900)]
meson: 0.50 doesn't support version with find_program
version argument of find_program is avaiable since 0.52.
Skip it if it's not 0.52 or higher.
Addresses the secondary point of #4553
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
hyunil park [Tue, 22 Oct 2024 07:58:00 +0000 (16:58 +0900)]
[datareposrc] Code clean, refactoring and bug fix
- Added check for file write failure
- Modify log message and level, the log message outputs whether 64-bit is supported.
- Removed unnecessary event functions and comments
- Modify Error log to check file write failure
- Remove duplicate code
Move repetitive static tensor checks in the rendering function to state changes after creating the function.
create gst_data_repo_sink_set_is_static_tensors()
- bug fix: Memory leak occurs when set_caps is called multiple times
Signed-off-by: hyunil park <hyunil46.park@samsung.com>
Yelin Jeong [Mon, 14 Oct 2024 01:08:37 +0000 (10:08 +0900)]
[llama2] Use invoke_dynamic in tensor filter llama2
This patch adds invoke_dynamic funciton to tensor filter llama2.
LLM model's output is flexible, so llama2 filter should use invoke_dynamic.
Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>
Yongjoo Ahn [Thu, 17 Oct 2024 05:07:35 +0000 (14:07 +0900)]
[filter] Add a new filter `exeuctorch-llama`
- Meta's executorch provides llama inference with simple APIs.
- Tested with [this executorch commit](https://github.com/pytorch/executorch/commit/
c242c4cec93320a017df8096bab84000d4072c1e).
REF: https://github.com/pytorch/executorch/blob/main/examples/models/llama
pipeline usage:
```
echo "Once upon a time in Seoul," > input.txt && \
gst-launch-1.0 filesrc location=input.txt ! application/octet-stream ! \
tensor_converter ! other/tensors,format=flexible ! \
tensor_filter framework=executorch-llama model=xnnpack_stories110M.pte,stories110M.tokenizer.bin invoke-dynamic=true ! \
other/tensors,format=flexible ! tensor_decoder mode=octet_stream ! \
application/octet-stream ! filesink location=llm.log --no-position \
&& cat llm.log
> Once upon a time in Seoul,
Near the beach, there was a big sea. On the beach there were many kids. One of the kids was a boy. He was very sad.
The other kids asked him why he was so sad. The boy said he was looking for something special. He had been searching for a long time.
The other kids were so kind. They offered to help him. They all looked for something together. After a while, one of the kids found something in the sand. It was a pretty shell!
```
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Jaeyun Jung [Wed, 23 Oct 2024 02:13:26 +0000 (11:13 +0900)]
[Trainer] delete unnecessary code
Code clean, remove unnecessary code and use util function for tensor info.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun Jung [Wed, 23 Oct 2024 08:46:29 +0000 (17:46 +0900)]
[Filter] use common util function
Code clean, use common util functions in filter implementation.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
hyunil park [Wed, 23 Oct 2024 04:59:00 +0000 (13:59 +0900)]
Change variable names for readability
- Change sink_sid to sink_stream_id and sid to stream_id
Signed-off-by: hyunil park <hyunil46.park@samsung.com>
gichan2-jang [Tue, 8 Oct 2024 07:42:26 +0000 (16:42 +0900)]
[Filter] Change internal data struct for tensor_filter transform
Change internal data struct for tensor_filter transform.
Signed-off-by: gichan2-jang <gichan2.jang@samsung.com>
gichan2-jang [Fri, 4 Oct 2024 01:52:19 +0000 (10:52 +0900)]
[Refactor] Extract functions of tensor_filter transform.
Extract functions to improve redability and matainability.
Signed-off-by: gichan2-jang <gichan2.jang@samsung.com>
Yelin Jeong [Tue, 22 Oct 2024 04:50:08 +0000 (13:50 +0900)]
[svace] Fix buffer overflow
This patch fixes potential defect of buffer overflow.
WGID 111616
Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>
hyunil park [Wed, 11 Sep 2024 06:12:02 +0000 (15:12 +0900)]
[tensor_trainer] Refactoring the chain function
The following functionality has been separated into functions from the chain function.
- Check buffer drop conditions
- Check for run chain func
- Get header size
- Create input tensors
- Check input tensors size
- Destroy input tensors and output tensors
- Get model stats
- Create output tensors
Signed-off-by: hyunil park <hyunil46.park@samsung.com>
Sangjung Woo [Thu, 17 Oct 2024 05:49:21 +0000 (14:49 +0900)]
[Spec] Enable protobuf filter for Movable project
This patch enables the protobuf filter for Movable project.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Yongjoo Ahn [Wed, 16 Oct 2024 06:57:46 +0000 (15:57 +0900)]
[filter] Update executorch API usage
- Fix the executorch `Module` API usage in the sub-plugin.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Fri, 11 Oct 2024 10:31:54 +0000 (19:31 +0900)]
[action] Fix yocto build workflow
- Add an option `nobranch=1` to prevent occasional fetch error.
- Remove unnecessary disk space acquisition step.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Fri, 11 Oct 2024 07:39:30 +0000 (16:39 +0900)]
[action] Acquire disk spaces for yocto workflow
- Acquire enough disk space for yocto build cache.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Jaeyun Jung [Thu, 10 Oct 2024 03:49:33 +0000 (12:49 +0900)]
[Filter/cpp] invalid header include
The log util in nnstreamer is not exported, remove invalid header include.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Yongjoo Ahn [Wed, 11 Sep 2024 07:29:56 +0000 (16:29 +0900)]
[action] Check yocto/meta-neural-network build per PR
Existing yocto workflow technically does not build nnstreamer.
This fixes the worfklow to handle yocto cache and build nnstreamer.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Jaeyun Jung [Wed, 2 Oct 2024 11:22:18 +0000 (20:22 +0900)]
[Filter/llama2] function to allocate mem
Add internal function to allocate memory, to handle possible error case if result is null or allocation failure.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Yongjoo Ahn [Mon, 23 Sep 2024 04:19:15 +0000 (13:19 +0900)]
[action] Add a workflow for github CodeQL
- Add a workflow to analyze github's CodeQL.
- Set a manual build process in it.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
hyunil park [Wed, 25 Sep 2024 06:56:30 +0000 (15:56 +0900)]
[tensor_trainer] Remove flexible CAPS from src pad
- Remove flexible CAPS from src pad because the output buffer is fixed
to the values training_loss, training_accuracy, validation_loss
and validation_accuracy
Signed-off-by: hyunil park <hyunil46.park@samsung.com>
Yongjoo Ahn [Fri, 4 Oct 2024 07:06:22 +0000 (16:06 +0900)]
[filter] Support invoke-dynamic for cpp subplugins
- Let cpp-class based subplugins do `invoke_dynamic`.
- If subplugin overrides `invoke_dynamic` filter would call it, otherwise asserts.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
gichan2-jang [Fri, 4 Oct 2024 04:26:07 +0000 (13:26 +0900)]
[Filter] Fix use after free case
In case of output combination, fix in_mem is used after unref the memory.
@todo Refacotr long method of tensor_filter.
Signed-off-by: gichan2-jang <gichan2.jang@samsung.com>
Yongjoo Ahn [Wed, 25 Sep 2024 06:27:51 +0000 (15:27 +0900)]
[doc] Udpate document about filter subplugins
- Update some outdated docs.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Jaeyun Jung [Thu, 26 Sep 2024 10:26:14 +0000 (19:26 +0900)]
[Edge] fix svace issue
Code clean, fix svace issue - adding lock to check connection state.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Yelin Jeong [Wed, 25 Sep 2024 05:11:07 +0000 (14:11 +0900)]
[llama2] Copy input prompt to prevent buffer overflow
This patch fixes input memory buffer overflow.
Sometimes, there is another string right after input data.
llama2 api uses prompt string directly, so unintended prompt is added.
Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>
gichan2-jang [Mon, 23 Sep 2024 04:48:05 +0000 (13:48 +0900)]
[Edge] Wait connection from edgesrc
Change the method of waiting for connection from polling to event.
Signed-off-by: gichan2-jang <gichan2.jang@samsung.com>
Wook Song [Thu, 19 Sep 2024 10:00:40 +0000 (19:00 +0900)]
JNI/NDK: Add llama2.c sources to nnstreamer.mk
This patch modifies nnstreamer.mk to import TensorFilter sub-plugin for
llama2.c into NNStreamer's Android NDK build chain.
Signed-off-by: Wook Song <wook16.song@samsung.com>
Jaeyun Jung [Wed, 25 Sep 2024 02:30:14 +0000 (11:30 +0900)]
[Test/Edge] fix mem leak
Code clean, fix mem leak case when invoking event callback with data.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Yelin Jeong [Thu, 19 Sep 2024 09:10:11 +0000 (18:10 +0900)]
[llama2c] Change custom filter to tensor filter
This patch changes llama2c custom filter to tensor filter subplugin.
custom filter .so tensor_filter is hard to use in android device.
example pipeline
```
gst-launch-1.0 filesrc location=input.txt ! application/octet-stream ! tensor_converter ! other/tensors,format=flexible ! tensor_filter framework=llama2c model=model.bin,tokenizer.bin ! filesink location=output.txt
```
Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>
gichan2-jang [Tue, 3 Sep 2024 04:33:29 +0000 (13:33 +0900)]
[Edge] Implement custom connection for edgesrc and edgesink
- Implement custom connection for edgesrc and edgesink
- Enable the tests
Signed-off-by: gichan2-jang <gichan2.jang@samsung.com>
Yongjoo Ahn [Thu, 12 Sep 2024 04:59:03 +0000 (13:59 +0900)]
[action] gbs build nntrainer
Let's gbs build and check nntrainer not per PR but daily.
- gbs build nntrainer for every PR is bothersome. It takes more than 20 minutes.
- nntrainer check its nnstreamer compatability in its CI
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Thu, 19 Sep 2024 04:50:41 +0000 (13:50 +0900)]
[fix] CodeQL security alert for converting to larger type
Cast one of the operands to `gsize` before performing the multiplication. This way, the multiplication will be done in the larger type
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Thu, 19 Sep 2024 04:48:12 +0000 (13:48 +0900)]
[fix] CodeQL security alert for socket usage
Specify the local loopback address (127.0.0.1) instead of an empty string (''). This change ensures that the socket only accepts connections from the local machine, mitigating the security risk.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
MyungJoo Ham [Thu, 19 Sep 2024 08:12:29 +0000 (17:12 +0900)]
github-action: update upload-artifact
upload-artifact v1 is obsolete and github-action rejects running it.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Sangjung Woo [Tue, 10 Sep 2024 07:53:48 +0000 (16:53 +0900)]
[spec] Disable mlops-agent on VD Cosmos infra
This patch disables the mlops-agent on VD Cosmos infra.
Signed-off-by: Sangjung Woo <sangjung.woo@samsung.com>
Yelin Jeong [Fri, 6 Sep 2024 04:04:02 +0000 (13:04 +0900)]
[custom] Add custom filter to use llama2c
This patch adds custom filter to use llama2c.
example pipeline
```sh
$ gst-launch-1.0 filesrc location=input.txt ! text/x-raw ! tensor_converter input-dim=3584:1:1:1 ! tensor_filter framework=custom model=libnnstreamer_customfilter_llama2.so ! filesink location=output.txt
```
model.bin and tokenizer.bin is needed.
Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>
Yelin Jeong [Fri, 6 Sep 2024 04:03:14 +0000 (13:03 +0900)]
[meson] Introduce the llama2.c
This patch introduces the llama2.c to nnstreamer.
Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>
gichan2-jang [Fri, 6 Sep 2024 01:03:38 +0000 (10:03 +0900)]
[Edge] Remove aitt support
Remove AITT connection type since AITT has been deprecated.
Signed-off-by: gichan2-jang <gichan2.jang@samsung.com>
Jaeyun Jung [Tue, 3 Sep 2024 00:57:48 +0000 (09:57 +0900)]
[Release] update version
Prepare Tizen 9.0 M2 release, update version.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Yongjoo Ahn [Tue, 3 Sep 2024 07:11:36 +0000 (16:11 +0900)]
[doc] Add a new product using nnstreamer
- MediaTek uses nnstreamer in their products to show some AI demo apps.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Mon, 2 Sep 2024 07:47:36 +0000 (16:47 +0900)]
[android] Let api-android build QNN tensor_filter
- Expose the source code in `jni/nnstreamer.mk` so that api/android
build can use it.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Mon, 2 Sep 2024 07:46:08 +0000 (16:46 +0900)]
[filter] Fix QNN API usages
- Set `tensor.v1.memType` properly.
- Fix argument value to `compose_graphs`.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Mon, 2 Sep 2024 07:44:42 +0000 (16:44 +0900)]
[fix] Fix log method in qnn filter
- Use nns_log instead of glib log.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
gichan2-jang [Wed, 28 Aug 2024 11:28:14 +0000 (20:28 +0900)]
[TDD] Add edgesrc/sink and query custom connection tests
Add edgesrc/sink and tensor_qeury custom connection tests.
Enable the tests later.
Signed-off-by: gichan2-jang <gichan2.jang@samsung.com>
Yongjoo Ahn [Fri, 30 Aug 2024 07:53:31 +0000 (16:53 +0900)]
[filter] Remove initalizing for Qualcomm Android
- QNN / SNPE filters on Qualcomm Android require additional job to use
Qualcomm's DSP / NPU.
- Remove the redundant codes and let the job executed in MLAPI/Android.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Thu, 29 Aug 2024 05:45:02 +0000 (14:45 +0900)]
[fix] Fix log of filter subplugin's name
- Use `prop->fwname` to handle both FW_V0 and FW_V1.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Thu, 29 Aug 2024 05:43:51 +0000 (14:43 +0900)]
[filter] Fix qnn context_config
- Set proper option to context_config.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Jaeyun Jung [Fri, 30 Aug 2024 02:02:05 +0000 (11:02 +0900)]
[CodeClean] fix svace issue
Code clean, fix mem leak and check function params.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun Jung [Thu, 22 Aug 2024 06:57:53 +0000 (15:57 +0900)]
[Meson] check snpe ver
Check snpe version by using snpe-util function.
Also, update build message.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun Jung [Wed, 28 Aug 2024 07:13:00 +0000 (16:13 +0900)]
[Filter/SNPE] check snpe version
Handle runtime error if snpe version is invalid, and update exception when failed to configure instance.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Yongjoo Ahn [Wed, 21 Aug 2024 04:58:32 +0000 (13:58 +0900)]
[filter] Add QNN tensor filter
- Add Qualcomm QNN tensor_filter.
- User should give two so files for model argument:
`tensor_filter framework=qnn model=libInception_v3.so,libQnnCpu.so`
REF:
https://www.qualcomm.com/developer/software/qualcomm-ai-engine-direct-sdk
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Jaeyun Jung [Thu, 22 Aug 2024 05:59:54 +0000 (14:59 +0900)]
[SNPE] function to delete instance
Remove unnecessary local val and use proper function to delete buffer handle.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Yongjoo Ahn [Thu, 8 Aug 2024 07:03:21 +0000 (16:03 +0900)]
[filter] Add custom prop `InputType` and `OutputType` for snpe
- Let snpe subplugin set types for input/output tensors.
- The value should be one of {"FLOAT32", "TF8"}
- Each value should be seperated by `;` (if plural)
- The order should follow the order of input/output tensors in the model.
- Example usage:
... custom=InputType:TF8,OutputType:"FLOAT32,FLOAT32"
- If type is not specified, use default type of the given model.
- quanitzed model can use both float32 and tf8,
non-quantized model can only use float32.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Thu, 8 Aug 2024 06:37:10 +0000 (15:37 +0900)]
[filter] Add custom prop `OutputTensor` for snpe
- Let snpe subplugin set output tensor names provided by `OutputTensor`
custom property.
- Each name should be sepearted by `;` (if OutputTensor is plural)
- Example usage:
... model=model.dlc custom=OutputTensor:"output_0;output_1" ...
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Thu, 8 Aug 2024 06:34:55 +0000 (15:34 +0900)]
[filter] Initialize a handle in snpe filter
- Initialize the handle with NULL
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Jaeyun Jung [Tue, 13 Aug 2024 08:59:24 +0000 (17:59 +0900)]
[Element] util to get nth info
Code clean, use util function to get nth tensor-info ptr to prevent index error.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun Jung [Tue, 13 Aug 2024 09:07:45 +0000 (18:07 +0900)]
[CodeClean] possible mem leak case
Code clean, update util function to free allocated mem block and fix mem leak case.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun Jung [Tue, 13 Aug 2024 09:12:01 +0000 (18:12 +0900)]
[CodeClean] invalid function to handle mem block
If gst-buffer has multiple mem blocks, memory from get-all-memory function does not update original data.
Update function - replace old memory.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
gichan2-jang [Mon, 12 Aug 2024 08:12:30 +0000 (17:12 +0900)]
[Action] Change daily release path
Change daily release path to apply lifecycle rule for each directory.
Release URL: release.nnstreamer.com
Signed-off-by: gichan2-jang <gichan2.jang@samsung.com>
Yongjoo Ahn [Fri, 9 Aug 2024 07:35:23 +0000 (16:35 +0900)]
[build] Exit cuda-version.sh with nonzero value
- Exit `cuda-version.sh` with `set -o pipefail` to exit with nonzero value if any command fails.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Fri, 9 Aug 2024 07:03:55 +0000 (16:03 +0900)]
[build] Exit with proper value in tensorrt-version.sh
- Exit tensorrt-version.sh with non zero value to meson detect it.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Wed, 14 Aug 2024 04:40:02 +0000 (13:40 +0900)]
[test] Add SSAT test for yolov10 decoder
- Add simple testcases with raw files.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Wed, 14 Aug 2024 04:38:09 +0000 (13:38 +0900)]
[decoder] Add boundingbox decoder for yolov10
- YoloV10 is an end-to-end (NMS-free) object detection model.
Its output dimension is 6:#MAX_DETECTION:1 (output[#MAX_DETECTION][6]).
The 6 values are [x, y, w, h, conf, class_id].
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Wed, 14 Aug 2024 04:04:20 +0000 (13:04 +0900)]
[CodeClean] Use g_autofree gchar* for error msg
- Use `g_autofree gchar*` for `...info_to_string` to clean code.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Wed, 14 Aug 2024 03:55:45 +0000 (12:55 +0900)]
[CodeClean] Free allocated memory in boundingbox
- Free those two garray allocations.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Jaeyun Jung [Fri, 9 Aug 2024 07:08:13 +0000 (16:08 +0900)]
[Mux] remove unnecessary var
Code clean, remove unnecessary data in mux collect-pad data.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun Jung [Fri, 9 Aug 2024 07:42:00 +0000 (16:42 +0900)]
[Element] invalid stream id
Prevent invalid stream-id case if element has multiple sink pads.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
gichan2-jang [Fri, 16 Aug 2024 01:18:50 +0000 (10:18 +0900)]
[Action] Fix action job name
Fix invalid action job name
Signed-off-by: gichan2-jang <gichan2.jang@samsung.com>
Jaeyun Jung [Wed, 7 Aug 2024 03:01:29 +0000 (12:01 +0900)]
[CodeClean] fix svace issues
Code clean, fix indent and svace issues.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
gichan2-jang [Mon, 5 Aug 2024 09:26:56 +0000 (18:26 +0900)]
[Action] Doxygen book
- Generage doxygen book and upload to S3
Signed-off-by: gichan2-jang <gichan2.jang@samsung.com>
gichan2-jang [Mon, 5 Aug 2024 04:48:08 +0000 (13:48 +0900)]
[Action] Gen docs using hotdoc tool
- Generage docs using hotdoc tool
- Publish result to nnstreamer.github.io
Signed-off-by: gichan2-jang <gichan2.jang@samsung.com>
gichan2-jang [Fri, 2 Aug 2024 08:06:39 +0000 (17:06 +0900)]
[Action] Release daily build result
- Release ubuntu daily build result
Signed-off-by: gichan2-jang <gichan2.jang@samsung.com>
Bram Veldhoen [Sun, 16 Jun 2024 08:46:16 +0000 (10:46 +0200)]
Add support for dali pipeline.
Adds a tensor_filter for dali pipelines (experimental).
Signed-off-by: Bram Veldhoen <bram@adiplus.nl>
Yongjoo Ahn [Mon, 5 Aug 2024 07:32:40 +0000 (16:32 +0900)]
[test] Add test for RGBP and BGRP formats
- Add testcases for RGBP/BGRP video formats in `unittest_sink`
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Mon, 29 Jul 2024 06:05:00 +0000 (15:05 +0900)]
[converter] Supports gstreamer video format RGBP, BGRP
- Channel First (NCHW) formats RGBP and BGRP are supported in gstreamer
1.20.0+
- Let tensor_converter handle this video_format.
Simple performance test in my machine shows
2500 FPS (videoconvert) v.s. 1300 FPS (tensor_transform transpose)
```bash
videotestsrc ! video/x-raw,width=640,height=480,format=RGB ! \
videoscale ! videoconvert !
video/x-raw,format=RGBP,width=320,height=320 ! \
tensor_converter ! tensor_sink
``` -> 2500 FPS
v.s.
```bash
gst-launch-1.0 \
videotestsrc ! video/x-raw,width=640,height=480,format=RGB ! \
videoscale ! videoconvert !
video/x-raw,format=RGB,width=224,height=224 ! \
tensor_converter ! \
tensor_transform mode=transpose option=1:2:0:3 ! tensor_sink
``` -> 1300 FPS
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Fri, 2 Aug 2024 06:28:59 +0000 (15:28 +0900)]
[doc] Add `channel_last` convert for the Tizen AI guide doc
- Describe `ai_edge_torch`'s `to_channel_last_io` API.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
gichan2-jang [Wed, 31 Jul 2024 08:11:02 +0000 (17:11 +0900)]
[Action] Release daily build result
Release daily build result to S3.
Signed-off-by: gichan2-jang <gichan2.jang@samsung.com>
gichan2-jang [Wed, 31 Jul 2024 10:22:01 +0000 (19:22 +0900)]
[TEST] increase timeout for state change
State change tests in the armv7l architecture is too long.
Let's increase the timeout limit.
```
[ 638s] [ RUN ] nnstreamerFilterSharedModel.tfliteSharedReload
[ 638s] ** Message: 09:59:55.720: accl = cpu
[ 638s] ** Message: 09:59:55.725: accl = cpu
[ 640s] ../tests/nnstreamer_filter_shared_model/unittest_filter_shared_model.cc:174: Failure
[ 640s] Expected equality of these values:
[ 640s] setPipelineStateSync (pipeline, GST_STATE_PLAYING, (2000U))
[ 640s] Which is: -62
[ 640s] 0
[ 640s]
[ 641s] ../tests/nnstreamer_filter_shared_model/unittest_filter_shared_model.cc:180: Failure
[ 641s] Expected: (res[0]) != (0U), actual: 0 vs 0
[ 641s]
[ 643s] [ FAILED ] nnstreamerFilterSharedModel.tfliteSharedReload (4570 ms)
```
Signed-off-by: gichan2-jang <gichan2.jang@samsung.com>
MyungJoo Ham [Fri, 12 Jul 2024 02:46:02 +0000 (11:46 +0900)]
tizen: allow tensorrt
Tizen is going to accept TensorRT and NVidia GPUs in the build system.
Let's allow to enable TensorRT.
However, meson is not configured to force tensorrt, yet, becuase
we do not know whether Tizen is going to port TensorRT version >=10 or not.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Jaeyun Jung [Mon, 22 Jul 2024 05:07:44 +0000 (14:07 +0900)]
[CodeClean] possible leak when inserting item into hashtable
Code clean, handle error case when inserting new data into hashtable.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Jaeyun Jung [Mon, 22 Jul 2024 05:03:10 +0000 (14:03 +0900)]
[CodeClean] remove space
Code clean, fix indent and redundant space in docs.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
Yelin Jeong [Sun, 28 Jul 2024 23:29:09 +0000 (08:29 +0900)]
[coverity] fix coverity issues
This patch fixes some coverity issues.
- WID
10976414 : The pointer returned by operator new can't be null.
- WID
10976530 : Constructor may not initialize class members.
Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>
MyungJoo Ham [Fri, 26 Jul 2024 06:35:00 +0000 (15:35 +0900)]
don't assert on PyIsInitialized.
It is possible that python-status-check is called
when PyIsInitialized is false (refer to #4523)
Trying to fix #4523
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Yongjoo Ahn [Mon, 22 Jul 2024 09:52:12 +0000 (18:52 +0900)]
[spec] Enable ml_agent_support
- Let the ml_agent related code be built in Tizen
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Mon, 22 Jul 2024 09:51:19 +0000 (18:51 +0900)]
[mlagent] Support using of "activated model" in nnstreamer
Let the valid uri scheme be
`mlagent://model/[name]` for activated [name] model
`mlagent://model/[name]/version` for [name] model with given version.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Mon, 22 Jul 2024 09:49:03 +0000 (18:49 +0900)]
[tests] Fix mlagent model mock information
- Versions of models should not be 0.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Mon, 22 Jul 2024 09:47:27 +0000 (18:47 +0900)]
[mlagent] Rename mlagent related functions
- Let the mock follow naming `model_get` as mlops-agent's interface
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yelin Jeong [Mon, 29 Jul 2024 23:17:41 +0000 (08:17 +0900)]
Fix typos
This patch fixes some typos.
Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>
Yongjoo Ahn [Tue, 25 Jun 2024 08:13:40 +0000 (17:13 +0900)]
[filter] Support TFLite QNN Delegate
- Add custom option for QNN Delegate.
- Add custom option for QNN backend and performance mode.
- User can use this in pipeline:
`... custom=Delegate:QNN,QNNBackend:DSP,QNNPerformanceMode:highperformance ...`
Disclaimer: This only tested in Android.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yongjoo Ahn [Tue, 25 Jun 2024 08:11:25 +0000 (17:11 +0900)]
[filter] Prepare QNN delegate for tflite
- Import QNN delegate header.
- For Android, set certain environment variables for DSP/HTP runtimes.
Signed-off-by: Yongjoo Ahn <yongjoo1.ahn@samsung.com>
Yelin Jeong [Tue, 23 Jul 2024 05:09:49 +0000 (14:09 +0900)]
[Doc] Update jni README
This patch updates jni related README.
Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>