Press "Enter" to skip to content

提升您的数据科学、机器学习和计算机视觉项目:有效项目管理的必备工具

使用这些工具加快构建和项目速度

Photo by Eden Constantino on Unsplash

机器学习或数据科学项目非常庞大,它们包含许多类型的文件和许多不同的架构。但令人惊讶的是,我找到了各种项目管理工具,这些工具将帮助您加快项目进度。这些是独立的工具,将帮助您进行库的工作、包管理以及异步工作以加快执行速度。

1. Cookiecutter

Cookiecutter是我们用来切割人们制作的非常硬的饼干的工具。[对我讽刺的抱歉]。让我们详细了解一下cookiecutter

提升您的数据科学、机器学习和计算机视觉项目:有效项目管理的必备工具 四海 第2张

正如Cookiecutter的官方页面所描述的那样:

Cookiecutter是一个Python包,可以使用pip或其他包管理器轻松安装,它使您能够创建和使用微服务和软件项目的模板。它是一个命令行工具,不需要了解Python即可使用。

当我们开始进行机器学习-深度学习-计算机视觉项目时,我们需要做很多事情来添加到我们的代码库。最初,在构建项目时,很难知道将来我们将需要哪些东西。例如,API、模型、前端、路由、主文件等。在处理复杂项目时,管理所有内容和每种类型文件的路由会变得混乱。Cookiecutter为这类问题提供了解决方案。

当正确执行时,良好的项目组织可以节省时间,但当您开始一个新项目并被迫创建README文件时,它也可能需要时间和精力。您总是可以选择克隆以前的项目并删除或编辑现有的文件和文件夹,但这既不令人愉快,也不比从头开始更快。Cookiecutter提供了内置模板,我们可以使用它们来设置项目结构。

安装Cookiecutter

pip install cookiecutter

使用 conda

conda install -c conda-forge cookiecutter

我们还可以使用内置模板创建项目结构。

# 从cookiecutter-pypackage.git存储库模板创建项目# 您将被提示输入值。# 然后它将在当前工作目录中创建您的Python包,# 基于这些值$ cookiecutter https://github.com/audreyfeldroy/cookiecutter-pypackage# 为简洁起见,GitHub上的存储库可以只使用“gh”前缀$ cookiecutter gh:audreyfeldroy/cookiecutter-pypackage

您可以使用cookiecutter jinja模板创建一个简单的模板,也可以像上面提到的那样导入内置模板。这非常简单,就像安装任何Python库和克隆任何git存储库一样。

cookiecutter文档: 这里

cookiecutter存储库: 这里

我发现了一些对机器学习-深度学习项目有用的模板:

对于数据科学项目: 点击这里

对于计算机视觉: 点击这里

您可以更多地探索cookiecutter,并选择适合您项目的模板。

2. Poetry

诗歌是一种艺术,但不是这里。这里的诗歌是一个包管理器。让我们详细了解一下。

提升您的数据科学、机器学习和计算机视觉项目:有效项目管理的必备工具 四海 第3张

Poetry是一种先进的Python包管理工具,它使创建、管理和发布Python包更加容易。

为管理依赖项、创建软件包并将其上传到PyPI(Python软件包索引),即Python软件包的官方仓库,它提供了一个简单易用的命令行界面。

使用Poetry进行软件包管理的好处[来源]

  • 依赖项解析
  • 虚拟环境
  • 项目脚手架
  • 内置构建和打包
  • 发布到PyPI

安装Poetry

(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py -

对于Linux、macOS和Windows子系统(WSL)用户,请打开终端并运行以下命令

curl -sSL https://install.python-poetry.org | python3 -

创建新项目

poetry new My Project 

这将创建一个名为My Project的新文件夹,具有以下结构。

My Project├── pyproject.toml├── README.md├── phone_number_validator│   └── __init__.py└── tests     └── __init__.py

Poetry将创建如下图所示的文件结构。

使用Poetry后创建的文件结构[作者提供的图像]
存储各个软件包依赖项的.lock文件[作者提供的图像]
.toml文件,我们可以像使用pip install一样添加文件[作者提供的图像]

这就是Poetry使用不同的文件来管理项目依赖项的方式。

Poetry文档: 这里

Poetry仓库: 这里

3. FastAPI

FastAPI是一个先进的用于创建Python RESTful API的Web框架。由于它的简洁性、速度和弹性,自2018年首次发布以来,它迅速成为开发者的最爱。对于数据验证、序列化和反序列化,FastAPI使用Pydantic和类型提示。

FastAPI和django、Flask的比较[来源:这里]

为什么选择FastAPI?因为它具有异步支持,这将使应用程序更快。如果您想要Django或Flask的异步支持,则需要像在Python中薪水一样的东西。

安装

pip install fastapi

您还需要一个ASGI服务器,例如Uvicorn或Hypercorn,用于生产环境。

pip install "uvicorn[standard]"

创建简单的FastAPI。

from typing import Unionfrom fastapi import FastAPIapp = FastAPI()@app.get("/")def read_root():    return {"Hello": "World"}@app.get("/items/{item_id}")def read_item(item_id: int, q: Union[str, None] = None):    return {"item_id": item_id, "q": q}

最后来运行FastAPI,

uvicorn main:app --reload

这里我假设 main 是你的 .py 文件名。如果你的文件名不同,你可以使用 uvicorn 你的文件名:app 来运行你的应用程序。

--reload: 当你进行更改并保存项目时,FastAPI将自动重新加载并获取更改。我们使用这个命令。

如果需要的话,你也可以指定端口和主机。

如何测试FastAPI?使用Postman吗?

我们这里不需要Postman !!!!

FastAPI自带一个内置的 Swagger 接口来处理请求和响应。FastAPI提供了自己的前端来测试API,称为API SWAGGER。

FastAPI SWAGGER

正如名字所暗示的那样,FastAPI非常适合创建用于数据科学、机器学习和深度学习的API用例。

FastAPI文档: 点击这里

FastAPI存储库: 点击这里

这些是我认为对加速你的项目有帮助的各种工具。我简要介绍了这些工具,否则详细阐述会使这篇博客变得很长。但是你肯定可以查看我提供的链接并深入了解这些工具的有效方法。

如果您发现本文有见地

“慷慨使你成为一个更快乐的人”是一个经过验证的事实;因此,如果你喜欢这篇文章,请为它鼓掌。如果你发现这篇文章有见地,请关注我在LinkedinVoAGI上。您还可以订阅以在我发布文章时收到通知。让我们创建一个社区!感谢您的支持!

此外,VoAGI对我写作没有任何回报,如果你想支持我,可以点击这里给我买杯咖啡

您可以阅读我与之相关的其他博客

如何过滤泡沫在社交媒体上使您的观点产生偏见

过滤泡沫和回音室:社交媒体如何使我们的观点产生偏见以及AI在其中的作用

VoAGI.com

了解LangChain的理论基础 🦜️🔗: PART 1

链、提示和Langchain中其他重要模块的理论理解

pub.towardsai.net

量化人类行为中的随机性

相信我,人类是世界上最随机的事物

generativeai.pub

全面指南:一篇博客中的顶级计算机视觉资源

保存此博客作为计算机视觉的全面资源

VoAGI.com

祝好!

Chinmay!

Leave a Reply

Your email address will not be published. Required fields are marked *