当前位置: 首页 > news >正文

网站1996年推广本网站只做信息展示

网站1996年推广,本网站只做信息展示,免费网页制作成app,秦皇岛做网站公司YOLO是You Only Look Once(你只看一次)的缩写#xff0c;它具有识别图像中的物体的非凡能力#xff0c;在日常应用中会经常被使用。所以在本文中#xff0c;我们将介绍如何使用FastAPI的集成YOLOv5#xff0c;这样我们可以将YOLOv5做为API对外提供服务。 Python有几个web框…YOLO是You Only Look Once(你只看一次)的缩写它具有识别图像中的物体的非凡能力在日常应用中会经常被使用。所以在本文中我们将介绍如何使用FastAPI的集成YOLOv5这样我们可以将YOLOv5做为API对外提供服务。 Python有几个web框架其中最突出的两个是Flask和FastAPI。Flask是一个轻量级且灵活的框架非常适合中小型web应用程序而FastAPI是一个相对较新的框架旨在快速轻松地构建api。 FastAPI FastAPI是一个现代的web框架可以用于基于OpenAPI标准使用Python 3.6构建api。FastAPI提供的代码只需进行最小的调整即可用于生产环境。FastAPI与ASGI(异步服务器网关接口)的集成使其成为最快的Python框架之一。 设置环境 建立虚拟环境是软件开发和数据科学中至关重要的第一步。虽然并不总是强制性的但强烈建议这样做。虚拟环境隔离了项目的依赖项确保了稳定性和兼容性。这种做法简化了版本管理使项目更有组织性和可维护性。简而言之它是提高项目质量的最佳实践。 python3 -m venv my_project然后使用命令激活来启动虚拟环境 my_project/bin/activate训练定制YOLOv5模型 我们这里不介绍详细的训练流程第一是因为官方有代码可以直接使用第二是因为我们主要介绍部署的步骤。 这里使用6种食物数据集进行训练这些数据集在Roboflow上进行了预先注释可以对鸡翅炸薯条饺子热狗甜甜圈华夫饼图像进行分类。如果你有自己的图像并想要创建一个数据集你也可以在Roboflow上手动注释它们。 python train.py - img 416 - batch 16 - epochs 100 - data {dataset.location}/data.yaml - cfg ./models/custom_yolov5s.yaml - weights - name yolov5s_results - cache只需要上面一句就可以进行训练结果如下 精度§: 0.763(所有类别的平均值) 召回率®: 0.662(所有类别的平均值) mAP50 (IoU 0.5的平均精度):0.712(所有类别的平均值) mAP50-95: 0.4(所有类别的平均值) 使用FastAPI进行模型推理 下面是一个最简单的项目目录结构模板: ├── README.md├── main.py # The main program├── model│ ├── __init__.py│ └── best.pt # Custom training model ├── requirements.in # Used to generate requirements.txt├── requirements.txt # Install dependencies: pip install -r requirements.txt├── segmentation.py # Importing the local YOLOv5 and resize images└── yolov5 # You can obtain this from https://github.com/ultralytics/yolov5main.py 这是一个有3个函数 app.get(’ /notify/v1/health )这是检查应用程序运行状况的端点。它返回一个带有消息“OK”的JSON响应。这个端点用于检查Kubernetes的readinessProbe和liveessprobe。 app.post( /object-to-json )这个端点处理图像中对象的检测并以JSON格式返回结果。它需要一个图像文件作为输入。 app.post( /object-to-img )这个端点执行对象检测并返回带有注释对象的图像。它还需要一个图像文件作为输入并将带注释的图像作为响应发送。 #import statementfromfastapiimportFastAPI, File#building the APIfromsegmentationimportget_yolov5, get_image_from_bytes#segmentation functionsfromstarlette.responsesimportResponse#handling API responsesimportiofromPILimportImageimportjsonfromfastapi.middleware.corsimportCORSMiddleware#initialize and obtain the modelmodelget_yolov5() #FastAPI application setupappFastAPI(titleCustom YOLOV5 Machine Learning API,descriptionObtain object value out of imageand return image and json result,version0.0.1,)#CORS (Cross-Origin Resource Sharing) middleware, allows the API to be accessed from different domains or origins. origins [http://localhost,http://localhost:8000,*]app.add_middleware(CORSMiddleware,allow_originsorigins,allow_credentialsTrue,allow_methods[*],allow_headers[*],)#Checking health of application, returns “OK” JSON responseapp.get(/notify/v1/health)defget_health():Usage on K8SreadinessProbe:httpGet: path: /notify/v1/healthport: 80livenessProbe:httpGet:path: /notify/v1/healthport: 80:return:dict(msgOK)returndict(msgOK)app.post(/object-to-json)asyncdefdetect_food_return_json_result(file: bytesFile(...)):input_imageget_image_from_bytes(file)resultsmodel(input_image)detect_resresults.pandas().xyxy[0].to_json(orientrecords) # JSON img1 predictionsdetect_resjson.loads(detect_res)return {result: detect_res}app.post(/object-to-img)asyncdefdetect_food_return_base64_img(file: bytesFile(...)):input_imageget_image_from_bytes(file)resultsmodel(input_image)results.render() # updates results.imgs with boxes and labelsforimginresults.imgs:bytes_ioio.BytesIO()img_base64Image.fromarray(img)img_base64.save(bytes_io, formatjpeg)returnResponse(contentbytes_io.getvalue(), media_typeimage/jpeg)segmentation.py定义了2个方法: 1、Get_yolov5():这是yolov5可以使用定制模型的地方。 Model torch.hub.load(。/yolov5 ’ custom path ’ ./model/best.pt source ’ local ‘):它从本地目录加载自定义yolov5模型。’ custom ‘参数指定模型架构’ ./model/best.pt ‘是定制训练模型文件的路径’ source 表示模型位于本地。conf 0.5:设置对象检测的置信度阈值。只有置信水平大于0.5的对象才会被包含在检测结果中。 2、Get_image_from_bytes():调整图像大小以确保与模型期望的兼容性。 input_image image .open(io.BytesIO(binary_image)).convert( RGB ):它读取二进制图像数据并将其转换为RGB格式的PIL (Python Imaging Library)图像。它计算图像的宽度和高度并确定调整因子以适应指定的max_size。Resized_image是通过根据计算的尺寸调整输入图像的大小来创建的确保它不超过最大大小。 启动项目 在终端上输入以下命令 uvicorn main:app — reload — host 0.0.0.0 — port 8000成功运行程序时它将看起来像这样 测试结果 在浏览器中打开http://127.0.0.1:8000/docs#/。你应该看到有3个端点的Open API文档: /notify/v1/health 返回一个JSON响应其中包含消息’ OK 。你可以通过点击try it out并执行来检查输出如下: /object-to-json 处理图像中对象的检测并以JSON格式返回结果。它需要一个图像文件作为输入。 /object-to-img 执行对象检测并返回带有注释对象的图像。它还需要一个图像文件作为输入并将带注释的图像作为响应发送。 这样我们的程序就完成了 总结 这里我们看到了yolov5模型的部署的完整过程并且这个过程是可以应用到生产环境的。但是这里我们发现了一个新的命令 ‘uvicorn’. Uvicorn 是基于 uvloop 和 httptools 构建的非常快速的 ASGI 服务器。因为 Uvicorn 是一个非常快速、可靠且易于使用的 ASGI 服务器可以在处理大量并发连接时保持稳定和高效。Uvicorn 还支持 WebSocket 和 HTTP/2 等新特性它符合 FastAPI 提倡的现代 Web 开发理念。所以使用 Uvicorn 作为 FastAPI 的 Web 服务器是一个很好的选择。 https://avoid.overfit.cn/post/c23627999f1a44689000105eb315180e 作者auliyafirdaus
http://www.hkea.cn/news/14514853/

相关文章:

  • 阿里巴巴怎么建设网站网站制作设计收费标准
  • 网站风格对比信息表网站建设哪家好知道万维科技
  • python做网站好吗做网站怎么选取关键词
  • 政务网站无障碍建设网站能需要怎么做才不会被攻击
  • 开个捕鱼网站怎么做美容行业培训网站建设
  • 网站关键词做的越多越好吗代运营公司是怎么运营的
  • 杭州便宜的手机网站建设广告设计与制作内容
  • 免费个人网站建站申请济南网站建设费用
  • 如何建设一个国际化的网站徐州商城网站建设
  • 手机网站用二级目录做的弊端网站空间在那里买
  • 做网站有什么语言好做网站能挣多少钱
  • 网站被攻击怎么让百度重新蜘蛛自动抓购买网站服务如何做支出
  • 私人网站服务器免费网站的模板演示怎么做
  • 企业网站维护怎么做宁波网站制作出售
  • 注册公司网站流程ppt怎么做 pc下载网站
  • 高端的镇江网站建设阿克苏市建设银行网站
  • 昌邑网站设计wordpress建立cms
  • 网站开发命名规范cpanel搭建wordpress
  • 网站建设怎么写事业部网站建设方案
  • 河南建设人才招聘专业网站做网站什么最重要
  • 法律咨询微信网站建设ui设计做兼职的网站有哪些
  • 江宁网站建设案例优化 保证排名
  • dede个人网站seo研究中心晴天
  • 有什么做ppt的网站wordpress 头部不显示
  • 北京公司网站建设价格旅游资源网站建设的功能及内容
  • 网站页面设计与实现网站建设过程中的需求分析
  • 物流网站建设 市场分析哪个网站做ppt能赚钱
  • 潍坊网站建设收费标准重庆网站建设夹夹虫公司
  • 休闲网站建设企业电子商务网站有哪些功能
  • 网站城市分站是怎么做的夸克浏览器入口