forked from dsutanto/bytetrack-counter-cpp
First Commit
This commit is contained in:
1 parent
267107ff05
commit
37fe4eee3a
53 files changed
+15098
-2
No files matched your search
@@ -0,0 +1,35 @@
|
||||
# AGENTS.md — ByteTrack Counter C++
|
||||
|
||||
## RKNN Dynamic Shape Requirement
|
||||
|
||||
The RKNN model (`zenai_apc_cicalengka_20260609.rknn`) is exported with **dynamic input shapes** (`model inference type: dynamic_shape`). The C API **requires** calling `rknn_set_input_shapes()` before `rknn_inputs_set()`. Without it, `librknnrt.so` crashes with:
|
||||
|
||||
```
|
||||
std::out_of_range: vector::_M_range_check: __n (which is 18446744073709551615) >= this->size() (which is 1)
|
||||
```
|
||||
|
||||
This is called in the constructor of `RKNNYOLO` at `src/rknn_yolo.cpp:60`, right after querying input attributes:
|
||||
|
||||
```cpp
|
||||
in_attr.dims[0] = 1;
|
||||
in_attr.dims[1] = imgsz_;
|
||||
in_attr.dims[2] = imgsz_;
|
||||
in_attr.dims[3] = 3;
|
||||
in_attr.n_dims = 4;
|
||||
ret = rknn_set_input_shapes(rknn_ctx_, io_num.n_input, &in_attr);
|
||||
```
|
||||
|
||||
## Build
|
||||
|
||||
```bash
|
||||
cd /opt/bytetrack-counter-cpp/build
|
||||
cmake .. -DHAS_RKNN=ON
|
||||
make -j$(nproc)
|
||||
```
|
||||
|
||||
## Service
|
||||
|
||||
```bash
|
||||
systemctl restart bytetrack-counter
|
||||
journalctl -u bytetrack-counter -f
|
||||
```
|
||||
Reference in new issue
Block a user