Nick Peng
Nick Peng
这个比较细节了,文档没有相关描述。 node之间目前是通过队列传递数据的,每个node的input都有一个队列。 队列有数据就会出发node处理数据。队列满时,就会阻塞上一个node的执行。 队列的执行可以参考这个[https://github.com/modelbox-ai/modelbox/blob/main/docs/Design.md#runner](https://github.com/modelbox-ai/modelbox/blob/main/docs/Design.md#runner)
batchsize通过1. 图的配置。2. 推理toml文件。 每次处理数据的时候,队列的数据
有负载均衡算法处理。前提是flowunit支持在这些设备上运行。
virtual的都是没有直接实体so对应的。input/output这类node就是virtual-node virtual-driver这个是一个抽象层,比如python的flowunit就是通过virtual配合脚本实现多个业务功能单元。对应的还有推理这类的功能单元。
1. driver是管理so文件的。flowunit是对node提供的功能,由driver承载。flowunit只是driver中的一个类别。其他类别还有device-driver管理内存,input/output broker输入,输出。 2. event port是自己给自己发送处理消息的。externalport是外部数据输入,eventport比如读取本地文件的时候使用。external的话,是在modelbox作为sdk的时候,外部输入数据使用。 3. 数据失败只会更改数据归属会话的状态,不会影响线程的执行情况。如果是cordump了,modelbox会打印调用栈后退出。 4. 端口是归属node的。一个node可以有多个端口。 5. 除去https外,输入输出的要结合modelbox-plugin使用,或者使用sdk模式使用。
https://modelbox-ai.com/modelbox-book/basic-conception/flowunit.html#%E6%95%B0%E6%8D%AE%E5%A4%84%E7%90%86 看看这里。 默认要求两个output都要有数据。否则的话,应该要改变节点类型。
这个没关系,只有功能单元才有DriverDescription
这个log显示加载python相关的动态库失效了 ``` [2022-11-08 06:29:15.576][ WARN][ driver.cc:1097] /usr/local/lib/libmodelbox-unit-cpu-python.so.1.0.0 : dlopen failed, libpython3.7m.so.1.0: cannot open shared object file: No such file or directory ``` 确认下镜像是不是用的我们发布的,还有里面的modelbox程序是否有自己替换过?
初始化管理插件失败, IvaManager::Start: modelbox_job Build failed, ret: code: Not found, errmsg: build graph failed, please check graph config. 你这个镜像从哪里获取的?
这个要和modelarts配合才能运行,你可以先用modelbox-tool flow -run验证