main
luanhailiang 2023-09-21 20:15:54 +08:00
parent 2763f9bafc
commit a54d47c3c1
1 changed files with 25 additions and 2 deletions

27
app.py
View File

@ -4,10 +4,25 @@ import time
import requests
import supervision as sv
from datetime import datetime
from ultralytics import YOLO
from flask import Flask,request,Response
from multiprocessing import Process, Event
import torch
device_count = 0
if torch.cuda.is_available():
device_count = torch.cuda.device_count()
print("GPU is available.")
print("GPU device count:", torch.cuda.device_count())
print("GPU device Current:", torch.cuda.current_device())
print("GPU device name:", torch.cuda.get_device_name(torch.cuda.current_device()))
else:
print("GPU is not available.")
app = Flask(__name__)
workers = {}
@ -39,7 +54,15 @@ def stop(id):
@app.route('/show',methods=['POST'])
def show():
print(request.data)
# print(request.json)
data = request.json["content"]
balls = data["balls"]
table = data["table"]
text = f"table:{table:>3} "
for i in range(16):
ball = "#" if "ball"+str(i) in balls else " "
text += f"| {i} : {ball} "
print(datetime.now().strftime('%Y-%m-%d %H:%M:%S'),text)
return 'ok'
def worker(id,source,region=None,stream=False):
@ -60,7 +83,7 @@ def worker(id,source,region=None,stream=False):
if not ret:
print("Error read video stream.")
break
result = model.track(frame,show=False,stream=False,persist=True,device=int(id)%4)
result = model.track(frame,show=False,stream=False,persist=True,device=int(id)%device_count)
result = result[0]
detections = sv.Detections.from_yolov8(result)
if result.boxes.id is not None: