# 创建 python 虚拟环境
python3 -m virtualenv .venv
# 进入 python 虚拟环境
. .venv/bin/activate
# 安装依赖
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements/algo.txt
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
# 安装测试相关依赖
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r test-requirements.txt
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements/bandit.txt
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements/docstyle.txt
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements/pep8.txt
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements/typecheck.txt
# 配置环境变量
export redis_host='127.0.0.1'
export mqtt_host='127.0.0.1'
export mysql_host='127.0.0.1'
export cloud_url='http://127.0.0.1:28300/api/v1'
export mysql_user='root'
export mysql_password=password
export emqx_password=password
export redis_password=password
# 启动数据处理服务
python main.py
apt-get install libgl1-mesa-glx
简单执行 tox 就行:
tox
默认的内置算法列表参考:algorithm.yaml.example
您可以替换某一个算法模块,比如:
pip install
一个新的 fusion 算法模块 'new_fusion'- 复制
algorithm.yaml.example
到/etc/cerebrum/algorithm.yaml
- 将 yaml 文件中的
pre_process_ai_algo.algo_lib.fusion
改成new_fusion
- 重启 cerebrum 服务,cerebrum 服务在启动时会尝试访问
/etc/cerebrum/algorithm.yaml
配置文件,动态加载对应的算法模块
这样就可以可使用 new_fusion
算法模块代替内置的 pre_process_ai_algo.algo_lib.fusion
算法模块。
您也可以替换某一算法模块中的不同算法,比如:
- 将 yaml 文件中的
pre_process_ai_algo.algo_lib.complement.enable
改成 false,这样该模块会禁用 - 将 yaml 文件中的
pre_process_ai_algo.algo_lib.complement.algo
改成lstm_predict
,这样该算法会代替原来的interpolation
您也可以发配置消息,动态替换模块中的具体算法(发送 V2X/RSU/(?P<rsuid>[^/]+)/PIP/CFG
消息,里面带 cfg 字段):
"cfg": {
"fusion": "disable",
"complement": "interpolation",
"smooth": "exponential",
"collision": "collision_warning",
"visual": "visual"
}
# pytorch 基础镜像镜
# docker build -t 99cloud/v2x-algo-base -f Dockerfile-algo-base .
CONTAINER_NAME=cerebrum
DOCKER_IMAGE=openv2x/${CONTAINER_NAME}
docker build -t ${DOCKER_IMAGE} .
docker stop ${CONTAINER_NAME}; docker rm ${CONTAINER_NAME}
docker run -d --net=host --name ${CONTAINER_NAME} -e redis_host=127.0.0.1 -e mqtt_host=127.0.0.1 -e mysql_host=127.0.0.1 -e cloud_url=http://127.0.0.1:28300/api/v1 -e mysql_user=root -e mysql_password=password -e emqx_password=password -e redis_password=password ${DOCKER_IMAGE}
# docker run -d --name ${CONTAINER_NAME} -e redis_host=172.17.0.1 -e mqtt_host=172.17.0.1 -e mysql_host=172.17.0.1 -e cloud_url=http://172.17.0.1:28300/api/v1 -e mysql_user=root -e mysql_password=password -e emqx_password=password -e redis_password=password ${DOCKER_IMAGE}
# 安装依赖
pip3 install -r test-function-requirements.txt
# 执行
export ip='127.0.0.1'
export emqx_root=password
sh ./function_test/function_test.sh
- Please run "
dprint fmt
" to format markdown files before creating PR.