学习迁移

flask学习笔记(十四) 数据库进阶

匿名 (未验证) 提交于 2019-12-03 00:30:01
一、Flask-SQLAlchemy Flask-SQLAlchemy是Flask的一个扩展,这个扩展包装了SQLAlchemy。使用集成了Flask的框架可以简化配置和操作!两者原理是相同的,从使用的角度来看看两者的不同。 1.安装 和其他扩展一样,Flask-SQLAlchemy也是通过pip安装 pip install flask-sqlalchemy 或者从pycharm安装 2.数据库连接: app.config[ 'SQLALCHEMY_DATABASE_URI' ] = DB_URI db = SQLAlchemy(app) 3.创建ORM模型: **虽然flask_sqlalchemy给我们提供了这个特性,但是不推荐使用。因为明言胜于暗喻** class Article(db.Model): __tablename__ = 'article' id = db.Column(db.Integer, primary_key = True , autoincrement = True ) title = db.Column(db.String( 50 ), nullable = False ) uid = db.Column(db.Integer,db.ForeignKey( "user_model.id" )) author = db.relationship(

Tensorflow中InceptionV3模型迁移学习获取tensor的name

匿名 (未验证) 提交于 2019-12-03 00:27:02
InceptionV3模型迁移学习的过程中,因为需要获取不同层次tensor的值,所以需要获取各层的name。之后才可以在迁移学习的过程中根据不同的层次输出结果,重新训练相应的模型 以下代码可以实现的功能: tensorflow重新载入google提供的inceptionV3的pb模型文件 (不是cpkt模型) 读取pb文件的结构并print出tensor的name和值 存入txt文件中 #读取pb模型并print出tensor的name和值到txt文件中 import tensorflow as tf from tensorflow.python.framework import graph_util tf.reset_default_graph()#重置计算图 logdir="E:\DeepLearning\Git\cnn\inception_dec_2015\\" output_graph_path = logdir +'tensorflow_inception_graph.pb' doc=open('inceptionV3_tensorName.txt','w') #建立写入文件的文件,'w'为写入模式 with tf.Session() as sess: # with tf.gfile.FastGFile(output_graph_path, 'rb') as f: #

迁移学习实践的一些感受

匿名 (未验证) 提交于 2019-12-03 00:19:01
  工程实践结题了,研一生活暂告一段落,这两天在整理文档的过程中发现有些感悟可以记录下。工程实践是做一个图像分类模型,模型侧重点在于数据集中包含了医学类的图像,我们的目的就是能够从茫茫图像中找到它。   完整工程代码在这: Github      出于硬件条件以及数据集来源的限制,我从一开始就想到了迁移学习的方法,利用已经训练成熟的模型去做调整。迁移学习有很多方式,可以大致分为三种:利用模型结构、提取瓶颈特征(bottleneck features )、微调(Fine-tuning)      这个是最基础的迁移学习,只利用别人的模型框架,所有权重重新训练。但是这种迁移学习并不适合设备条件差的我。。。   简单来说,将图片数据input到已经训练好的模型(本文用的VGG16),但不是为了得到最后一层的output,而是从中间的某一层抽取出来作为bottleneck features。因为深度学习中间过程其实都是在提取特征,我们可以自己选择某一层作为bottleneck features。如下图:      具体步骤:   1:载入去掉top层的model   2:提取bottleneck features,保存到本地   3:搭建小型分类模型,从本地读取bottleneck features,作为输入进行训练   这种迁移学习的方式已经满足了我对准确率的要求,达到80%  

基于深度迁移学习进行时间序列分类

匿名 (未验证) 提交于 2019-12-02 23:57:01
本文是法国上阿尔萨斯大学发表于 IEEE Big Data 2018 上的工作。 通常来说,用传统的机器学习方法(例如 KNN、DTW)进行时间序列分类能取得比较好的效果。但是, 基于深度网络的时间序列分类往往在大数据集上能够打败传统方法。 另一方面,深度网络必须依赖于大量的训练数据,否则精度也无法超过传统机器学习方法。在这种情况下,进行数据增强、收集更多的数据、使用集成学习模型,都是提高精度的方法。这其中,迁移学习也可以被用在数据标注不足的情况。 从深度网络本身来看,有研究者注意到了,针对时间序列数据,深度网络提取到的特征,与 CNN 一样,具有相似性和继承性。因此,作者的假设就是, 这些特征不只是针对某一数据集具有特异性,也可以被用在别的相关数据集。 这就保证了用深度网络进行时间序列迁移学习的有效性。 本文基本方法与在图像上进行深度迁移一致: 先在一个源领域上进行 pre-train,然后在目标领域上进行 fine-tune。 然而,与图像领域有较多的经典网络结构可选择不同,时间序列并没有一个公认的经典网络架构。因此,作者为了保证迁移的效果不会太差,选择了之前研究者提出的一种 全卷积网络 (FCN,Fully Convolutional Neural Network)。这种网络已经在之前的研究中被证明具有较高的准确性和鲁棒性。 网络结构 如下图所示。

[PyTorch入门]之迁移学习

匿名 (未验证) 提交于 2019-12-02 23:48:02
来自 这里 。 在本教程中,你将学习如何使用迁移学习来训练你的网络。在 cs231n notes 你可以了解更多关于迁移学习的知识。 在实践中,很少有人从头开始训练整个卷积网络(使用随机初始化),因为拥有足够大小的数据集相对较少。相反,通常在非常大的数据集(例如ImageNet,它包含120万幅、1000个类别的图像)上对ConvNet进行预训练,然后使用ConvNet作为初始化或固定的特征提取器来执行感兴趣的任务。 两个主要的迁移学习的场景如下: Finetuning the convert :与随机初始化不同,我们使用一个预训练的网络初始化网络,就像在imagenet 1000 dataset上训练的网络一样。其余的训练看起来和往常一样。 ConvNet as fixed feature extractor :在这里,我们将冻结所有网络的权重,除了最后的全连接层。最后一个全连接层被替换为一个具有随机权重的新层,并且只训练这一层。 #!/usr/bin/env python3 # License: BSD # Author: Sasank Chilamkurthy from __future__ import print_function,division import torch import torch.nn as nn import torch.optim as optim

NLP中的迁移学习教程来啦!(238页PPT下载)

匿名 (未验证) 提交于 2019-12-02 23:42:01
文章发布于公号【数智物语】 (ID:decision_engine),关注公号不错过每一篇干货。 来源 | 新智元(AI_era) 近日,在美国明尼苏达州明尼阿波利斯的 NAACL2019 上, Sebastian Ruder, Matthew Peters, Swabha Swayamdipta 和 Thomas Wolf 分享了一个长达 238 页 PPT 关于“NLP中的迁移学习”的教程,今天拿来和大家分享。 经典的监督机器学习范式是基于对使用单个数据集的任务的单个预测模型的孤立学习。这种方法需要大量的训练示例,并且对于定义明确、范围狭窄的任务效果最好。迁移学习指的是一组方法,这些方法通过利用来自其他域或任务的数据来训练具有更好泛化特性的模型来扩展此方法。 近两年来,自然语言处理(NLP)领域出现了几种转移学习方法和体系结构,这些方法和体系结构大大提高了 NLP 任务的先进性。 这些改进,加上这些方法的广泛可用性和易集成性,使人们想起了导致计算机视觉中预训练字嵌入和 ImageNet 预训练成功的因素,并表明这些方法很可能成为 NLP 中的一种常用工具以及一个重要的研究方向。 我们将概述 NLP 中的现代迁移学习方法,如何对模型进行预培训,它们所学习的表示捕获哪些信息,并回顾有关如何在下游 NLP 任务中集成和适应这些模型的示例和案例研究。 0 1 什么是迁移学习? (a

pgloader 学习(一)支持的特性

匿名 (未验证) 提交于 2019-12-02 23:42:01
pgloader 是一个不错的多种格式数据同步到pg 的工具,pgloader 使用postrgresql 的copy 协议进行高效的数据同步处理 csv、fixed 列、dbase、sqlte、ibm ixf、postgresql、mysql、sql server 在加载数据之前可以进行数据调整,清理 可以加载需要字段 zip、tar、gzip 导入数据 支持http 请求数据的加载 加载数据的时候,pgloader 会考虑现有列,并尽可能的猜测csv 格式 在部分情况下,可能是需要完整数据的 pre post 可以方便的在数据加载之前,以及之后进行一些sql 操作,比如索引、表,权限的创建管理 对于迁移可能只需要进行schema 的迁移,也可能只进行数据的迁移 可以在迁移的时候进行数据类型的转换 可以在迁移的时候将view 转化为table 分发数据到citus pgloader 可以帮助做这样的事情 可以让我们的数据库迁移类似持续集成一样,可以增强我们迁移的信心 https://pgloader.readthedocs.io/en/latest/ https://github.com/dimitri/pgloader

Transfer Learning Using ConvolutionalNeural Networks for Face Anti-spoofifing

匿名 (未验证) 提交于 2019-12-02 23:34:01
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_28888837/article/details/90295171 Transfer Learning Using ConvolutionalNeural Networks for Face Anti-spoofifing 标签: 论文 spoofing 论文出处:Springer International Publishing AG 2017 本文提出的方法 本文其实就是进行了迁移学习,因为迁移学习对于数据集小不能进行大规模训练(会过拟合)会有效果。我觉得可能作者在实现的时候用了别的trick,因为他的效果似乎还不错,但是在文章中也就用了迁移学习这个方法,网络结构是把VGG的最后一层移除,最后两层进行了修改。预处理方面仅仅进行了采样(从视频里面提取帧)和面部识别(使用的openface[35]),迁移学习的话,是固定了前面的三层,训练从第四层开始。网络结构如下: 使用的数据库是Replay-Attack和3DMAD,对于3DMAD只使用了rgb图片,没有使用里面的深度信息。 实验结果: 收获 1、未来可以在自己的网络里面使用迁移学习微调 参考文献重点摘录可作为以后读 实验结果对比中比较好的两个 Rocha, A.: Deep representations for iris,

分库分表如何部署上线

流过昼夜 提交于 2019-12-02 16:13:29
转自公众号“孤独烟” 引言 我们先来讲一个段子 面试官:“有并发的经验没?” 应聘者:“有一点。” 面试官:“那你们为了处理并发,做了哪些优化?” 应聘者:“前后端分离啊,限流啊,分库分表啊。。” 面试官:"谈谈分库分表吧?" 应聘者:“bala。bala。bala。。” 面试官心理活动:这个仁兄讲的怎么这么像网上的博客抄的,容我再问问。 面试官:“你们分库分表后,如何部署上线的?” 应聘者:“这!!!!!!” 不要惊讶,我写这篇文章前,我特意去网上看了下分库分表的文章,很神奇的是,都在讲怎么进行分库分表,却不说分完以后,怎么部署上线的。这样在面试的时候就比较尴尬了。 你们自己摸着良心想一下,如果你真的做过分库分表,你会不知道如何部署的么?因此我们来学习一下如何部署吧。 ps: 我发现一个很神奇的现象。因为很多公司用的技术比较low,那么一些求职者为了提高自己的竞争力,就会将一些高大上的技术写进自己的low项目中。然后呢,他出去面试害怕碰到从这个公司出来的人,毕竟从这个公司出来的人,一定知道自己以前公司的项目情形。因此为了圆谎,他就会说:“他们从事的是这个公司的老项目改造工作,用了很多新技术进去!” 那么,请你好好思考一下,你们的老系统是如何平滑升级为新系统的! 如何部署 停机部署法 大致思路就是,挂一个公告,半夜停机升级,然后半夜把服务停了,跑数据迁移程序,进行数据迁移。

迁移学习和域自适应

我与影子孤独终老i 提交于 2019-12-02 08:08:40
迁移学习和领域自适应指的是利用一个情景(例如,分布P1)中已经学到的内容去改善另一个情景(比如分布P2)中的泛化情况,在无监督学习任务和监督学习任务之间转义表示。 在迁移学习中,学习器必须执行两个或更多个不同的任务,但是我们假设能够解释P1变化的许多因素和学习P2需要抓住的相关变化。这通常能够在监督学习中解释,输入是相同的,但是输出不同的性质。例如,我么可能在第一种情景中学习了一组视觉类别,比如猫和狗,然后在第二种情景中学习一组不同的视觉类别,比如蚂蚁和黄蜂。如果第一种情景(从P1采样)中具有非常多的数据,那么有助于学习到能够使得从P2抽取的非常少样本中快速泛化的表示。许多视觉类别共享一些低级概念,比如边缘、视觉形状、集合变化、光照变化的影响等。一般而言,当存在不同情景或任务有用特征时,并且这些特征对应某个情景出现的潜在因素,迁移学习、多任务学习和领域自适应可以使用表示学习来实现。 有时不同任务之间共享之间共享的不是输入的语义,而是输出的语义。例如,语音识别系统需要在输出层产生有效的句子,但是输入附近的较低层可能需要识别相同音素或子音素发音的非常不同的版本(这取决于说话的人)。在这样的情况下,共享神经网络的上层(输出附近)和进行任务特定预处理是有意义的。 在域自适应领域(domain adaption)的相关情况下,在每个情景之间的任务(和最优的输入到输出的映射)都是相同的