YOLO v3上训练自己的图片集

1. 目录树 新建项目文件夹project_yolov3,建立如下目录树。(并不是一定要这样组织,只是很多项目, 包括官网上面的,都把文件放到darknet的编译目录,显得文件组织结构不清晰) project_yolov3 – data – – images – – labels – – .names – – train_list.txt – – test_list.txt – cfg – – .data – – .cfg – backup 2. 准备图片、标签文件 将准备训练的图片放在images文件夹;对应的标签放在labels文件夹。 每张图片对应一个同名的label txt文件,比如images/abc.jpg – > labels/abc.txt。 labels文件每行存放一个标注的Boungding Box,一行五个数分别代表类别(从0开始编号), BoundingBox中心X坐标,中心Y坐标,宽,高。这些坐标都是0~1的相对坐标。比如,图片 的宽和高分别为WIDTH和HEIGHT像素,BoundingBox中心X、Y分别为x、y像素,宽、高 分别为w、h像素,label文件里面的值可以用下面的公式计算: yolo_x = x/WIDTH yolo_y = y/HEIGHT yolo_w = w/WIDTH yolo_h …

Mac系统占用空间大、空间不够、查看系统文件大小分布

du -sh * 背景: 最近老提示空间不够,很尴尬,一直弹系统提示 如图,256的空间,就剩下几个G了,其中最大头的系统占用:160G,占比60%多   正常情况下:我们可以点击管理,进入到系统磁盘优化界面: 这种适用于简单的文件占用分析,一般我们能够通过 清理文稿 和 回收箱 来解决空间不够的问题。 1、清空回收站。 2、在文稿里,按文件大小排序,删除不需要的文件。 3、对于GarageBand,这个是系统上的模拟乐器,一般都使用不到。 清除方法: rm -rf /Library/Application\ Support/GarageBand rm -rf /Library/Application\ Support/Logic rm -rf /Library/Audio/Apple\ Loops     不过,对于罪魁祸首,系统的160G,我们怎么才能知道她的内部存储分布呢?   正文: 关于如何查看系统的文件占用详情。 一、首先打开终端,输入 du -sh * 这个命令用来查看根目录下,所有文件的大小分布,如图所示: 其中,我们很容易能看到每个文件的大小占比,快速定位到最大占比的文件:Library   二、输入命令,进入到Library文件路径 cd ~/Library 然后,查看Library下的所有文件大小分布。 输入: du -d 1 -h 很容易我们可以找到最大的文件:/Developer 当然,其他的文件大小,我们也都能看到,一目了然。   三、到这里,我们基本就能知道下面的套路了,我们可以继续往下查看 比如,我这里继续进入到Developer文件,再查看他的每个子文件大小: 基本,查看个两三层,就基本能知道大概的原因了,我这边由于是程序猿,所以Xcode是根本原因,占了系统160G的一半大小。 到这里为止,如果你也是程序猿,有兴趣的,可以继续看;如果没有兴趣的可以直接跳第四步。 基本这就到底了,大概的空间占用分布从上面几张图,也基本有数了。 …

labelImg github tuition

LabelImg   https://github.com/tzutalin/labelImg LabelImg is a graphical image annotation tool. It is written in Python and uses Qt for its graphical interface. Annotations are saved as XML files in PASCAL VOC format, the format used by ImageNet. Besdies, it also supports YOLO format Watch a demo video Installation Download prebuilt binaries Windows macOS. Binaries for macOS …

通过Nginx完美解决多个项目共用一个端口

情景模拟: 问题1: 我们买了一个某某服务器,如果用这台服务器只跑一个项目,可能会有点浪费。 解决方案1: 安装多个Tomcat放置多个项目,分配不同的端口。 问题追加2: 有的项目对端口有强制要求,例如:微信订阅号等等。需要80或者443端口,现在我们需要多个项目公用一个端口[例如:80] 解决方案2: 可以把多个项目放置到同一个Tomcat中,公用一个端口。 问题追加3: 如果我们某一个项目出现问题,需要重启服务,那么Tomcat下的所有都会restart。 解决方案3: 我们今天的主题,通过Nginx实现多个项目公用一个端口。 注意:这里和F5区分[并非一码事]。 1、准备[我们是在虚拟机中模拟测试] Nginx:192.168.102.110:7777 Tomcat1:192.168.102.110:9526/A[项目] Tomcat2:192.168.102.110:9527/B[项目] 2、 修改配置 Tomcat1: 修改端口为:9526 vi tomcat1/conf/server.xml 项目A Tomcat2: vi tomcat2/conf/server.xml 修改端口为:9527 Nginx:7777 vi nginx1.8/conf/nginx.conf 修改端口及绑定ip[有域名的可以用自己的域名] 注意:上面的upstream是配的F5先注释了[不用理睬]。 Location /A[自己的tomcat1项目名] Location /B[自己的tomcat2项目名] 3、 测试 开启Tomcat1、Tomcat2、Nginx服务 Tomcat1 Tomcat2 Nginx 浏览器访问: 分别访问A、B项目。 测试成功。

docker快速搭建几个常用的第三方服务

本次和大家分享的内容是使用docker快速搭建工作中常用的第三方的服务,对于有一些互联网背景的公司来说,以下几个服务都是很需要的:redis,rabbit,elasticsearch; 本篇涉及docker常用几个命令: docker pull 镜像名:版本:拉去镜像 docker rmi 镜像名或id:删除镜像 docker images:获取本地已有镜像 docker run 镜像名或id:使用默认端口启动镜像 docker run -p port:port1 -d 镜像名或id:指定port端口映射到port1,并后台启动镜像 docker ps:查看正在运行的docker容器 docker ps -a:查看所有执行过run命令的容器服务(包括已经停止的容器) docker stop 容器id:停止某个容器 docker restart 容器id:重启某个容器 docker rm 容器Id:删除某个容器 搭建redis 要通过docker搭建某个服务,首先需要从镜像库拉去对应的镜像,目前国内也有一些好的镜像资源,比如阿里,网易等具体镜像地址网搜吧; docker pull redis 执行完如上命令后,会得到如下成功拉取的结果: docker images 命令能够看到已经包含在我们本地镜像里了 然后来启动redis容器,并通过docker ps查看启动 docker run -p 6378:6379 –name redis -d f06a5773f01e 能够看出redis容器已经启动了,访问本机端口6378即可映射到容器的6379,下面通过redismanager客户端连接下redis服务 搭建rabbit 同样的拉去rabbit镜像,一般rabbit需要一个可视化后台,很多镜像里面都已经包含了manager管理后台,我这里的镜像包含 …

opencv3.3基于GoogleLeNet模型识别图片

2017年8月发布的OpenCV 3.3正式带来了高度改进的深度学习dnn模块。 该模块现在持许多深度学习框架,包括Caffe,TensorFlow和Torch/PyTorch。该API可C ++可在Python中调用,很容易磁盘加载模型;预处理输入图像;通过网络传递图像并获取输出分类。 本文演示如何在ImageNet数据集上使用预先训练的深度学习网络并将其应用于输入图像。 使用OpenCV进行深度学习 我们将使用OpenCV和GoogleLeNet(在ImageNet上预先训练)来对图像进行分类。 OpenCV 3.3中的深度学习 自版本v3.1起,OpenCV的dnn模块已成为opencv_contrib库的一部分。在OpenCV 3.3中,它包含在主库中。使用OpenCV 3.3,我们可以利用流行的深度学习框架预先训练好的网络。与OpenCV 3.3兼容的流行网络架构包括:GoogleLeNet、AlexNet、SqueezeNet和VGGNet、RESNET。 参考: https://github.com/opencv/opencv/tree/master/modules/dnn 发布文档 https://habr.com/company/intel/blog/333612/ 俄语 OpenCV深度学习功能和框架 OpenCV 3.3支持 Caffe, TensorFlow和 Torch/PyTorch 框架。目前不支持Keras(因为Keras实际上是TensorFlow和Theano等包装器),但是由于深度学习库的普及,Keras 直接支持只是时间问题。 使用OpenCV 3.3,我们可以使用dnn中的以下函数从磁盘加载图像: cv2.dnn.blobFromImage cv2.dnn.blobFromImages 我们可以通过create方法直接从各种框架导入模型: cv2.dnn.createCaffeImporter cv2.dnn.createTensorFlowImporter cv2.dnn.createTorchImporter 使用read方法直接从磁盘加载序列化模型更容易: cv2.dnn.readNetFromCaffe cv2.dnn.readNetFromTensorFlow cv2.dnn.readNetFromTorch cv2.dnn.readhTorchBlob 加载模型后,.forward方法用于向前传播我们的图像并获得实际的分类。 使用深度学习和OpenCV对图像进行分类 GoogLeNet 的参考: Going deeper with convolutions 加载预先训练好的Caffe模型,并使用它来使用OpenCV对图像进行分类。 代码参见: https://github.com/china-testing/python-api-tesing/blob/master/practices/cv/deep_learning_with_opencv.py 执行示例 $ python deep_learning_with_opencv.py –image images/jemma.png …

几个码云上的Springboot框架

1、项目名称:分布式敏捷开发系统架构 项目简介:基于 Spring + SpringMVC + Mybatis 分布式敏捷开发系统架构,提供整套公共微服务服务模块:集中权限管理(单点登录)、内容管理、支付中心、用户管理(支持第三方登录)、微信平台、存储系统、配置中心、日志分析、任务和通知等,支持服务治理、监控和追踪,努力为中小型企业打造全方位J2EE企业级开发解决方案。 项目地址:https://gitee.com/shuzheng/zheng2、 2、项目名称:模块化开发系统 项目简介:以 SpringBoot 为中心,模块化开发系统,用户可以随意删减除权限框架外 任意的系统模块。复用,组装性强主要应用技术: spring Security Ehcache quartz swagger2 Mysql5.6 springjdbc druid spring social spring session layerui+vue.js 项目地址:https://gitee.com/YYDeament/88ybg 3、项目名称:JAVA 分布式快速开发平台 项目简介:JAVA 分布式快速开发平台:SpringBoot,SpringMVC,Mybatis,mybatis-plus,motan/dubbo分布式,Redis 缓存,Shiro 权限管理,Spring-Session 单点登录,Quartz 分布式集群调度,Restful 服务,QQ/微信登录,App token 登录,微信/支付宝支付;日期转换、数据类型转换、序列化、汉字转拼音、身份证号码验证、数字转人民币、发送短信、发送邮件、加密解密、图片处理、excel 导入导出、FTP/SFTP/fastDFS 上传下载、二维码、XML 读写、高精度计算、系统配置工具类等。 项目地址:https://gitee.com/iBase4J/iBase4J 4、项目名称:快速开发框架 ThinkGem 项目简介:Java EE(J2EE)快速开发框架,基于经典技术组合(Spring MVC、Apache Shiro、MyBatis、Bootstrap UI),包括核心模块如:组织机构、角色用户、权限授权、数据权限、内容管理、工作流等。虽说很长时间没有大的更新了,但它的架构精良易于扩展深受大家喜爱,依然是中小企业的首选,它的功能设计、底层架构也非常具有参考意义、是学习入门的首选。关注我ThinkGem开源中国博客了解4.0最新动态。 项目地址:https://gitee.com/thinkgem/jeesite 5、项目名称:Java 快速开发平台 MCMS 项目简介:完整开源,Java …