Checking the status of services on the edge systems
After you register the edge to the center application, verify that the correct Python processes are running on the edge systems.
Procedure
- After the edge is installed on the edge system, perform an SSH login to the edge system.
-
On the master edge system, run the following command to look for the Python process for the
master engine:
ps aux | grep python
The result should include the following Python process:python deployment_folder/vi_edge-bin_vi/vi_task_manager/run.py
.
If you do not find the Python process on the master edge system, check the log files at deployment_folder/vi_edge-bin_vi/vi_task_manager/master.log.
Try to start the master engine by running the following command:
deployment_folder/vi_edge-bin_vi/vi_task_manager/restartMaster.sh IP_of_master_node -
On the master edge system, run the following command to look for the Python process for the
edge controller:
ps aux | grep python
The result should include the following Python processes:python deployment_folder/vi_edge-bin_vi/vi_edge/runMonitor.py
python deployment_folder/vi_edge-bin_vi/vi_edge/runService.py
.
If you do not find the runMonitor Python process on the master edge system, check the log files at deployment_folder/vi_edge-bin_vi/vi_edge/Event.log.
If you do not find the runService Python process on the master edge system, check the log files at deployment_folder/vi_edge-bin_vi/vi_edge/Service.log.
Try to start the edge controller by running the following command:
deployment_folder/vi_edge-bin_vi/vi_edge/restartController.sh -
Run the following command on the master edge system and the slave edge systems to look for
Python processes for the score engine of the classification model:
ps aux | grep python
The result should include the following Python processes:python deployment_folder/vi_edge-bin_vi/vi_score_engine_restful/front_run.py 5005 6005
python deployment_folder/vi_edge-bin_vi/vi_score_engine_restful/back_run.py 6005
If you do not find the Python process on the edge systems, check the log files:
deployment_folder/vi_edge-bin_vi/vi_score_engine_restful/front_log.txt
deployment_folder/vi_edge-bin_vi/vi_score_engine_restful/back_log.txt
After you resolve any issues, the master engine should start the score engine automatically. To start the score engine manually, run the following commands:
source ~/.bashrc
deployment_folder/vi_edge-bin_vi/vi_score_engine_restful/restartEngine.sh -
Run the following command on the master edge system and the slave edge systems to look for the
Python process for the score engine of the object detection model:
ps aux | grep python
The result should include the following Python processes:
python deployment_folder/vi_edge-bin_vi/vi_obj_detection/RESTAPI/model/run.py port gpuid FRCNN
python deployment_folder/vi_edge-bin_vi/vi_obj_detection/RESTAPI/model/run.py port gpuid SSD
If you do not find the Python processes on the edge systems, check the following log files:
deployment_folder/vi_edge-bin_vi/vi_obj_detection/RESTAPI/model/FRCNN_gpuid.log
deployment_folder/vi_edge-bin_vi/vi_obj_detection/RESTAPI/model/SSD_gpuid.log
If you see a "No module named iotmyolo" error message, copy the iotmyolo.so or iotmyolo.py file from the /home/user/vi_edge-bin_vi/vi_obj_detection/model_library/yolo directory to the YOLO_HOME directory.
After you resolve any issues, the master engine should start the score engine automatically. -
Rebuild the YOLO library with the edge component:
- Go to the /home/user/vi_edge-bin_vi/vi_obj_detection/model_library/yolo directory.
- Add the detectorobj.c file to the darknet/examples folder.
- Edit the darknet/Makefile file and indicate that
EXECOBJA=detectorobj.o. The following code is an example of the code in the
Makefile
file:
EXECOBJA=detectorobj.o captcha.o lsd.o super.o voxel.o art.o tag.o cifar.o go.o rnn.o rnn_vid.o compare.o segmenter.o regressor.o classifier.o coco.o dice.o yolo.o detector.o writing.o nightmare.o swag.o darknet.o
- In the Makefile file, add $(EXECOBJ) for the
$(SLIB) and $(ALIB) objects. The following code is an
example of the code in the Makefile
file:
$(ALIB): $(EXECOBJ) $(OBJS) $(AR) $(ARFLAGS) $@ $^ $(SLIB): $(EXECOBJ) $(OBJS) $(CC) $(CFLAGS) -shared $^ -o $@ $(LDFLAGS)
- Run the following command:
make