一个实用工具,可以帮助您完成IA项目

ialab-core的Python项目详细描述


简介

每次我想做一些实验或尝试时,我发现自己都在重写同样的代码 一些新的信息系统的东西大部分时间都没有集中在我想学的重要东西上 或者理解。为了避免这种模式,我试图编写一个小框架来帮助我 让那些标准任务已经解决,同时帮助我构建代码 以可读和可维护的方式。在

安装

这个项目是用python3.6开发的。在

pip3 install ialab-core

建筑考虑因素

我将通过计算机视觉的一个例子来解释为什么。 大多数时候,我尝试的实验都是这样的:

  • 我需要从磁盘或笔记本相机上读取视频。在
  • 出于性能原因,需要缩放图像
  • 我需要对图像运行某种算法(这可能意味着一个或一系列算法)
  • 我想显示结果或选择性地显示它并将结果发送到图像或视频文件

让我们把这些步骤变成一个更抽象的表示

阅读图像->;缩放图像->;人脸检测(要说特定的内容)->显示结果 ->;发送到磁盘

这看起来非常类似于管道和过滤器体系结构,我可以在其中发送输出 对于某个步骤到一个或多个处理器。这里没什么新的,这只是一个图结构 因为这是发生在大多数试图帮助我们构建 更好、更易于维护的软件。在

这种体系结构中的每个处理节点都称为处理器。 有一些特殊类型的处理器,即输入和输出处理器。主要 它们之间的区别在于输入处理器可以运行并控制执行(这将 在将来的版本中更改,其中将出现单独的执行器)和输出处理器不要尝试 为进一步处理提供输出。另一方面,一个普通的处理器就可以了 输入数据,并将为任何其他处理器提供此数据 有兴趣这么做。在

示例

作为一个例子,你有一个文件夹,每个图像都包含在某个地方 在它的脸上写着一个人和一个叫人的档案。你想做面部检测吗 使用siamesse网络,但首先要从图像中提取人脸,以便 减少内存占用、加载时间和交付的应用程序的大小 给你的客户。在

为此,您可以使用我们的库在简短的应用程序中写下以下内容。在

^{pr2}$

运行示例

YoloV3

要运行YoloV3,您需要下载配置文件并将它们放入 ./modes/yolov3。有3个文件需要下载yolov3.cfg、yolov3.weights 以及可可名字. 这些文件可以从https://pjreddie.com/darknet/yolo/下载。在

下载后只需执行python3obj_记录在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Android中Twitter共享的java xAuth身份验证?   带有@XmlAnyAttribute和方法的java Bug?(使用JAXB-RI)   安卓 ArrayAdapter导致java。lang.NullPointerException   java如何使用JExel从现有excel文件中删除工作表   java树映射随机停止正确返回值   使用switch和scanner类java使用用户选择   java JCalendar多天选择   Java文件zip正在创建损坏的文件   Ajax调用中的java未定义错误   java处理JSON更改信息的最佳方法   java JNI不适用于AppKit线程   java在运行时为JTable的特定行设置背景色   java如何在for循环中添加按钮?   java在getclass()方法之后强制转换对象