caffe刚刚安装配置结束,乘热打铁! (一)环境准备 前面我有两篇文章写到caffe的搭建,第一篇cpu only ,第二篇是在服务器上搭建的,其中第二篇因为硬件环境更佳我们的步骤稍显复杂.其实,第二篇也仅仅是caffe的初步搭建完成,还没有编译python接口,那么下面我们一起搞定吧! 首先请读者再回过头去看我的<Ubuntu16.04安装配置Caffe>( http://www.cnblogs.com/xuanxufeng/p/6150593.html  ) 在这篇博文的结尾,我们再增加…
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5783006.html 之前使用的是torch,由于其他人在caffe上面预训练了inception模型,需要使用caffe的inception模型进行微调.然后网上搜了一下如何将caffe模型load到torch里面.有两种方式(可直接跳转到3查看): 1. https://github.com/szagoruyko/loadcaffe 该网址的不需要安装caffe.应该是根据.prototxt来强…
在经过前面Caffe框架的搭建以及caffe基本框架的了解之后,接下来就要回到正题:使用caffe来进行模型的训练. 但如果对caffe并不是特别熟悉的话,从头开始训练一个模型会花费很多时间和精力,需要对整个caffe框架有一个很清楚的了解,难度比较高:同时,在使用数据迭代训练自己模型时会耗费很多计算资源.对于单GPU或者没有大的GPU计算能力的研究者会比较困难.所以,使用已经训练好的caffe模型来进行finetuning就会是一个比较好的选择. 一来,finetuning的过程和训练的过程步…
基于深度学习和迁移学习的识花实践(转)   深度学习是人工智能领域近年来最火热的话题之一,但是对于个人来说,以往想要玩转深度学习除了要具备高超的编程技巧,还需要有海量的数据和强劲的硬件.不过 TensorFlow 和 Keras 等框架的出现大大降低了编程的复杂度,而迁移学习的思想也允许我们利用现有的模型加上少量数据和训练时间,取得不俗的效果. 这篇文章将示范如何利用迁移学习训练一个能从图片中分类不同种类的花的模型,它在五种花中能达到 80% 以上的准确度(比瞎蒙高了 60% 哦),而且只需要普…
在经过前面Caffe框架的搭建以及caffe基本框架的了解之后,接下来就要回到正题:使用caffe来进行模型的训练. 但如果对caffe并不是特别熟悉的话,从头开始训练一个模型会花费很多时间和精力,需要对整个caffe框架有一个很清楚的了解,难度比较高:同时,在使用数据迭代训练自己模型时会耗费很多计算资源.对于单GPU或者没有大的GPU计算能力的研究者会比较困难.所以,使用已经训练好的caffe模型来进行finetuning就会是一个比较好的选择. 一来,finetuning的过程和训练的过程步…
你可以从系统 /tmp 文件夹获取,名字是什么 caffe.ubuntu.username.log.INFO.....之类 =============================================================================================================== caffe在训练的时候不仅会保存当前模型的参数(也就是caffemodel)文件,也会把训练到当前状态信息全部保存下来,这个文件就是solverstat…
前面已经介绍了几种经典的目标检测算法,光学习理论不实践的效果并不大,这里我们使用谷歌的开源框架来实现目标检测.至于为什么不去自己实现呢?主要是因为自己实现比较麻烦,而且调参比较麻烦,我们直接利用别人的库去学习,可以节约很多时间,而且逐渐吃透别人代码,使得我们可以慢慢的接受. Object Detection API是谷歌开放的一个内部使用的物体识别系统.2016年 10月,该系统在COCO识别挑战中名列第一.它支持当前最佳的实物检测模型,能够在单个图像中定位和识别多个对象.该系统不仅用于谷歌于自…
    学习caffe第一天,用SSD上上手. 我的根目录$caffe_root为/home/gpu/ljy/caffe    一.运行SSD示例代码    1.到https://github.com/weiliu89/caffe.git下载caffe-ssd代码,是一个caffe文件夹    2.参考已经配好的caffe目录下的makefile.config修改¥caffe_root下的makefile.config.    3.在$caffe_root下打开命令行终端,输入以下命令 make…
Caffe Model Zoo 许多的研究者和工程师已经创建了Caffe模型,用于不同的任务,使用各种种类的框架和数据.这些模型被学习和应用到许多问题上,从简单的回归到大规模的视觉分类,到Siamese networks for image similarity,到语音和机器人技术应用. 为了帮助分享这些模型,我们介绍model zoo 构架(framework): 打包Caffe模型信息的标准格式. 从Github Gists上传和下载模型,下载训练好的Caffe模型的二进制包的工具. A c…
基于Caffe的MNIST数据集训练与测试 原创:转载请注明https://www.cnblogs.com/xiaoboge/p/10688926.html  摘要 在前面的博文中,我详细介绍了Caffe的网络结构和求解文件,还介绍了如何制作LMDB和Hdf5数据源文件.但是我们还没有完整的介绍过如何在Caffe框架下去训练一个神经网络模型,在本篇博文中我将从最经典.简单的卷积神经网络Lenet(CNN的开端)和最简单的数据集MNIST(手写数字)出发,详细介绍整个网络的训练与测试过程. 1. …
1. 下载训练.验证.测试数据和 VOCdevkit,下载地址: http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCdevkit_08-Jun-2007.ta…
这篇薄荷主要是讲了如何用tensorflow去训练好一个模型,然后生成相应的pb文件.最后会将如何重新加载这个pb文件. 首先先放出PO主的github: https://github.com/ppplinday/tensorflow-vgg16-train-and-test 其中的pitcute文件是狗和猫的图片分别15张一共30(别吐槽,只是为了练手学习的233333), train那个就是训练的文件,test这个就是测试的文件. 接着PO主会慢慢讲解相应的步骤. !!!ps:由于PO主也是…
本文主要参考博客https://blog.csdn.net/luoyexuge/article/details/80399265 [1] bazel安装参考:https://blog.csdn.net/luoyi131420/article/details/78585989 [2] 首先介绍下自己的环境是centos7,tensorflow版本是1.7,python是3.6(anaconda3). 要调用tensorflow c++接口,首先要编译tensorflow,要装bazel,要装pro…
人脸检测及识别python实现系列(5)——利用keras库训练人脸识别模型 经过前面稍显罗嗦的准备工作,现在,我们终于可以尝试训练我们自己的卷积神经网络模型了.CNN擅长图像处理,keras库的tensorflow版亦支持此种网络模型,万事俱备,就放开手做吧.前面说过,我们需要通过大量的训练数据训练我们的模型,因此首先要做的就是把训练数据准备好,并将其输入给CNN.前面我们已经准备好了2000张脸部图像,但没有进行标注,并且还需要将数据加载到内存,以方便输入给CNN.因此,第一步工作就是加载并…
现在的深度学习框架一般都是基于 Python 来实现,构建.训练.保存和调用模型都可以很容易地在 Python 下完成.但有时候,我们在实际应用这些模型的时候可能需要在其他编程语言下进行,本文将通过直接调用 TensorFlow 的 C/C++ 接口来导入 TensorFlow 预训练好的模型. 1.环境配置 点此查看 C/C++ 接口的编译 2. 导入预定义的图和训练好的参数值 // set up your input paths const string pathToGraph = "/ho…
在某些任务中,我们需要针对不同的情况训练多个不同的神经网络模型,这时候,在测试阶段,我们就需要调用多个预训练好的模型分别来进行预测. 调用单个预训练好的模型请点击此处 弄明白了如何调用单个模型,其实调用多个模型也就顺理成章.我们只需要建立多个图,然后每个图导入一个模型,再针对每个图创建一个会话,分别进行预测即可. import tensorflow as tf import numpy as np # 建立两个 graph g1 = tf.Graph() g2 = tf.Graph() # 为每…
现在的深度学习框架一般都是基于 Python 来实现,构建.训练.保存和调用模型都可以很容易地在 Python 下完成.但有时候,我们在实际应用这些模型的时候可能需要在其他编程语言下进行,本文将通过 C/C++ 间接调用 Python 的方式来实现在 C/C++ 程序中调用 TensorFlow 预训练好的模型. 1. 环境配置 为了能在 C/C++ 中调用 Python,我们需要配置一下头文件和库的路径,本文以 Code::Blocks 为例介绍. 在 Build -> Project opt…
1. 准备预训练好的模型 TensorFlow 预训练好的模型被保存为以下四个文件 data 文件是训练好的参数值,meta 文件是定义的神经网络图,checkpoint 文件是所有模型的保存路径,如下所示,为简单起见只保留了一个模型. model_checkpoint_path: "/home/senius/python/c_python/test/model-40" all_model_checkpoint_paths: "/home/senius/python/c_py…
tensorflow训练验证码识别模型的样本可以使用captcha生成,captcha在linux中的安装也很简单: pip install captcha 生成验证码: # -*- coding: utf-8 -*- from captcha.image import ImageCaptcha # pip install captcha import numpy as np from PIL import Image import random import cv2 import os # 验…
训练完一个模型后,为了以后重复使用,通常我们需要对模型的结果进行保存.如果用Tensorflow去实现神经网络,所要保存的就是神经网络中的各项权重值.建议可以使用Saver类保存和加载模型的结果. 1.使用tf.train.Saver.save()方法保存模型 tf.train.Saver.save(sess, save_path, global_step=None, latest_filename=None, meta_graph_suffix='meta', write_meta_graph…
1.Torch构建简单的模型 # coding:utf-8 import torch class Net(torch.nn.Module): def __init__(self,img_rgb=3,img_size=32,img_class=13): super(Net, self).__init__() self.conv1 = torch.nn.Sequential( torch.nn.Conv2d(in_channels=img_rgb, out_channels=img_size, ke…
使用word2vec训练词向量 使用word2vec无监督学习训练词向量,输入的是训练数据和测试数据,输出的是每个词的词向量,总共三百个词左右. 求和:然后再将每行数据中的每个词的词向量加和,得到每行的词向量表示. 其他还可以通过求平均,求众数或者最大值等等方法得到每行的词向量表示. 代码如下: import time import csv import pickle import numpy as np import xgboost as xgb from sklearn.model_sele…
在集群部署时,我们经常用到堡垒机作为跳板,堡垒机和集群的其他的用户名.密码.端口号都是不同的,fabric如何进行配置不同的用户.端口号和密码. fabric作为一种强大的运维工具,可以让部署运维轻松很多,最简单的fabric使用,首先设置env.user, env.port, env.hosts, env.password,如: 12345678910 #coding:utf8from fabric.api import *#用户名env.user = "shikanon"#中转ip…
数据集下载地址: 链接:https://pan.baidu.com/s/1l1AnBgkAAEhh0vI5_loWKw提取码:2xq4 创建数据集:https://www.cnblogs.com/xiximayou/p/12398285.html 读取数据集:https://www.cnblogs.com/xiximayou/p/12422827.html 进行训练:https://www.cnblogs.com/xiximayou/p/12448300.html 保存模型并继续进行训练:htt…
[源码解析] 模型并行分布式训练 Megatron (3) ---模型并行实现 目录 [源码解析] 模型并行分布式训练 Megatron (3) ---模型并行实现 0x00 摘要 0x01 并行Transformer层 1.1 初始化 1.2 前向传播 0x02 并行MLP 2.1 命名规范 2.2 MLP 代码 2.2.1 初始化 2.2.2 前向操作 0x03 ColumnParallelLinear 3.1 定义 3.2 初始化 3.2.1 切分size 3.2.2 初始化权重 3.3…
引言 之前一段时间在参与语义分割的项目,最近有时间了,正好把这段时间的所学总结一下. 在代码上,语义分割的框架会比目标检测简单很多,但其中也涉及了很多细节.在这篇文章中,我以PSPNet为例,解读一下语义分割框架的代码.搞清楚一个框架后,再看别人的框架都是大同小异. 工程来自https://github.com/speedinghzl/pytorch-segmentation-toolbox 框架中一个非常重要的部分是evaluate.py,即测试阶段.但由于篇幅较长,我将另开一篇来阐述测试过程…
遥感数据集 1. UC Merced Land-Use Data Set 图像像素大小为256*256,总包含21类场景图像,每一类有100张,共2100张. http://weegee.vision.ucmerced.edu/datasets/landuse.html2. WHU-RS19 Data Set 图像像素大小为600*600,总包含19类场景图像,每一类大概50张,共1005张. https://download.csdn.net/download/u010656161/10153…
图像分割是计算机视觉中除了分类和检测外的另一项基本任务,它意味着要将图片根据内容分割成不同的块.相比图像分类和检测,分割是一项更精细的工作,因为需要对每个像素点分类,如下图的街景分割,由于对每个像素点都分类,物体的轮廓是精准勾勒的,而不是像检测那样给出边界框. 图像分割可以分为两类:语义分割(Semantic Segmentation)和实例分割(Instance Segmentation),其区别如图所示. 可以看到语义分割只是简单地对图像中各个像素点分类,但是实例分割更进一步,需要区分开不同…
经过前面两篇博文的学习,我们已经训练好了一个caffemodel模型,并生成了一个deploy.prototxt文件,现在我们就利用这两个文件来对一个新的图片进行分类预测. 我们从mnist数据集的test集中随便找一张图片,用来进行实验. #coding=utf-8 import caffe import numpy as np root='/home/xxx/' #根目录 deploy=root + 'mnist/deploy.prototxt' #deploy文件 caffe_model=…
前言: 本文章记录了我将自己的数据集处理并训练的流程,帮助一些刚入门的学习者,也记录自己的成长,万事起于忽微,量变引起质变. 正文: 一.流程 1)准备数据集  2)数据转换为lmdb格式  3)计算均值并保存(非必需) 4)创建模型并编写配置文件 5)训练和测试 二.实施 (一)准备数据集 在深度学习中,数据集准备往往是最难的事情,因为数据涉及隐私.商业等各方面,获取难度很大,不过有很多科研机构公布了供学习使用的数据集,我们可以在网上下载.还有一种获取的途径是论文,查阅国内外相关的论文,看他们…