自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

沈春旭的博客

优秀是一种习惯

  • 博客(684)
  • 资源 (9)
  • 论坛 (3)
  • 问答 (1)
  • 收藏
  • 关注

原创 机器学习资源-Harvard Ph.D Sam维护

这篇博文转自哈佛大学博士生Sam整理的机器学习资料,包括了数据基础、几何、概率论、统计学习、深度学习等。内容非常丰富,Blog是完全拷贝用于备份。最新内容建议阅读Sam维护的博文:https://sgfin.github.io/learning-resources/ML ResourcesThis is a not-particularly-systematic attempt to cu...

2018-11-13 16:52:27 12195

原创 个人主页

基本信息 教育经历:2018.11- Cornell University Ph.D Candidate2016.8-2019.6 图形与图像处理 GPA=3.98 1/121(清华大学硕士毕业设计)2014.7-2016.6 图形与图像处理 GPA=3.92 1/107(...

2017-08-29 17:59:22 18993 7

原创 Go协程池设计思路(Task-Job-Worker)

1. 铺垫:Go 的接收器Receiver在go语言中,没有类的概念,但是可以给类型(结构体,自定义类型)定义方法。所谓方法就是定义了接受者的函数。接受者定义在func关键字和函数名之间。可以理解成为结构体定义函数方法,类似于C++中的类方法。type Person struct { name string age int}func (p Person) say()...

2020-04-13 00:18:24 535

原创 Go协程与协程池

1. Golang协程golang和其它语言最大区别莫过于goroutine,也就是go的协程,example如下:package mainimport "fmt"import "time"func go_worker(name string) { for i:=0; i<10; i++ { fmt.Println("this is go worker :" , na...

2020-04-12 16:25:20 429

原创 HashMap底层实现和原理

本文是在阅读知乎老刘作品后的整理。内容基于JDK1.7进行分析,1.8做的改动文章末尾进行讲解。1. 基本要义1.1 概述Hashmap在Map派生中的位置HashMap基于Map接口实现,元素以键值对的方式存储,并且允许使用null键和null值,因为key不允许重复,因此只能有一个键为null,另外HashMap不能保...

2020-04-05 23:52:30 609

原创 获取keras中间层输出、模型保存与加载

1. 获取keras中间层输出# model summary and plotimport kerasfrom keras.models import Modelfrom keras.utils import plot_modelDocEncoder.summary()DocEncoder.plot_model()model.summary()model.plot_mod...

2020-03-29 22:52:18 915

原创 常见回归和分类损失函数比较

文章转自知乎作者wdmad,更多内容建议阅读原文:https://zhuanlan.zhihu.com/p/36431289本博文属于阅读笔记,融合了个人观点。1. 损失函数损失函数的一般表示为L(y,f(x)),用以衡量真实值 y和预测值 f(x)之间不一致的程度,一般越小越好。为了便于不同损失函数的比较,常将其表示为单变量的函数,在回归问题中这个变量为[y-f(x)] :残差表...

2020-03-29 21:45:45 1537

原创 特征共线性问题

多重共线性是使用线性回归算法时经常要面对的一个问题。在其他算法中,例如决策树或者朴素贝叶斯,前者的建模过程时逐渐递进,每次都只有一个变量参与,这种机制含有抗多重共线性干扰的功能;后者假设变量之间是相互独立的。但对于回归算法来说,都要同时考虑多个预测因子,因此多重共线性不可避免。多重共线性(Multicollinearity)是指线性回归模型中的自变量之间由于存在高度相关关系而使模型的权重参数估...

2020-03-13 18:27:22 1026

转载 NDCG:推荐系统/搜索评价指标

本文转载自【胖喵】博主,详细请看https://www.cnblogs.com/by-dream/p/9403984.html 1. CG:累计增益CG,cumulative gain,只考虑到了相关性的关联程度,没有考虑到位置的因素。它是一个搜素结果相关性分数的总和。指定位置p上的CG为:reli代表i这个位置上的相关度。举例:假设搜索“篮球”结果,最理想的结果是:B1、B...

2020-03-07 16:17:43 720

转载 Redis批量操作详解及性能分析

通过mget批量执行指令可以节约网络连接和数据传输开销,在高并发场景下可以节约大量系统资源。本文中,我们更进一步,比较一下redis提供的几种批量执行指令的性能。1.为什么需要批量执行redis指令众所周知,Redis协议采取的是客户端-服务器方式,即在一次round trip中,客户端发送一条指令,服务端解析指令并执行,然后向客户端返回结果。这是一种典型的tcp交互方式。粗略的分,...

2020-01-11 17:33:21 676 1

原创 golang中的flag模块小结

1. flag常用函数无论是c语言还是golang语言或是其他语言,启动应用程序时都可以带一些参数,然后系统根据传入的参数进行特点的工作。如:./main -mode online -model bert_ch. 在Go中可以方便地使用flag模块进行命令行参数解析。// 解析字符串type string stringfunc String(name string, value st...

2020-01-08 21:59:17 654

原创 SQL小结

1. SQL模糊查询like: 效率低,容易全盘扫描# 查找Name中包含字符'M'的数据select ename from table where ename like '%M%'# 查找Name中第二个字母为'M'的数据select ename from table where ename like '_M%'instr(str, substr) / locate(subst...

2020-01-05 18:10:18 898 2

原创 Java中恒等条件判断:“equals”和“==”

1. 起因:字符串恒等判断//String is reference typeString str1 = new String("hello");String str2 = new String("hello");System.out.println(str1==str2);// falseSystem.out.println(str1.equals(str2));// tru...

2019-11-27 19:36:02 416 1

原创 OCR-PIL.Image与Base64 String的互相转换

1. 基本环境py2: python2.7.13 py3: python3.6.2 PIL: pip(2/3) install pillow, PIL库已不再维护,而pillow是PIL的一个分支,如今已超越PIL2.Convert PIL.Image to Base64 Stringpy2 :先使用CStringIO.StringIO把图片内容转为二进制流,再进行base64编码...

2019-11-14 10:08:31 1101

原创 Bert演变总结

2019-11-03 21:41:36 326

原创 基于bert模型的文本分类研究:“Predict the Happiness”挑战

1. 前言在2018年10月,Google发布了新的语言表示模型BERT-“Bidirectional Encoder Representations from Transformers”。根据他们的论文所言,在文本分类、实体识别、问答系统等广泛的自然语言处理任务上取得了最新的成果。2017年12月,参加了Hackerreath的一个挑战“Predict the Happiness”。在这...

2019-11-03 21:30:16 943

原创 faiss(2):理解product quantization算法

近几年,深度学习技术被广泛用于图像识别、语音识别、自然语言处理等领域,能够把每个实体(图像、语音、文本)转换为对应的embedding向量。如这里千人千面智能淘宝店铺背后的算法研究登陆人工智能顶级会议AAAI 2017。而对于推荐、搜索或者广告投放问题,都可以描述为从大规模候选中给用户提供有限的展现结果。那么,这里就会涉及到向量检索的问题。向量检索最简单的想法是暴力穷举法,如果全部实体的个数是...

2019-11-03 14:02:07 2211

原创 faiss(1):简介 安装 与 原理

1. 简介Faiss是Facebook AI团队开源的针对聚类和相似性搜索库,为稠密向量提供高效相似度搜索和聚类,支持十亿级别向量的搜索,是目前最为成熟的近似近邻搜索库。它包含多种搜索任意大小向量集(备注:向量集大小由RAM内存决定)的算法,以及用于算法评估和参数调整的支持代码。Faiss用C++编写,并提供与Numpy完美衔接的Python接口。除此以外,对一些核心算法提供了GPU实现。...

2019-11-03 13:02:23 1545

原创 热词抽取与话题发现系列(1):郝晓玲研究

1. 背景社区内容的数据挖掘方面主要可分为两大类:内容关联挖掘和用户关系挖掘, 热词/热点话题发现属于社区内容挖掘范畴,是指从大量的UGC文本中检测出用户广泛讨论的话题。涉及两个关键性技术:中文分词技术,中文话题发现技术。中文分词算法主要分为两种:一是基于语言规则的方法,即计算机可以通过自然语言的语法、词性等内部规则分析出文本正确含义并分词,判断文本串是否成词主要依赖词库。 主要方法包括:...

2019-10-20 14:11:43 1054

原创 Spark写Redis+Spark资源配置总结

1. 起源于Error19/10/16 11:22:06 ERROR YarnClusterScheduler: Lost executor 28 on **********: Container marked as failed: container_********** on host: **********. Exit status: 137. Diagnostics: Contain...

2019-10-17 21:10:24 718

转载 ABtest用于推荐系统性能衡量

1. 背景介绍无法衡量就无法优化,对于互联网产品而言,不仅是推荐系统,整个 app 系统的更新迭代必然需要建立一套度量衡,来把控整个流程优化的方向。而 ABtest 系统就是一个很好的进行变量控制和优化方向选取的工具,循环:衡量 - 发现 - 迭代 - 验证。所谓精细化迭代是一种建立在数据基础上的思维方式——用较少的成本获得较好的效果。无数据,不优化, 线上分流实验是进行推荐算法优化的必由之路...

2019-10-13 19:48:24 3921

原创 SQL中的distinct的使用方法

1. distinct含义与使用方法distinct用来查询不重复记录的条数,即用distinct来返回不重复字段的条数(count(distinct id)),其原因是distinct只能返回他的目标字段,而无法返回其他字段。注意事项distinct 【查询字段】,必须放在要查询字段的开头,即放在第一个参数; 只能在SELECT 语句中使用,不能在 INSERT, DELETE, U...

2019-10-13 19:19:23 293

原创 [scala-spark]12. RDD行动操作

firstfirst返回RDD中的第一个元素,不排序。scala> var rdd1 = sc.makeRDD(Array(("A","1"),("B","2"),("C","3")),2)scala> rdd1.firstres1: (String, String) = (A,1)countcount返回RDD中的元素数量。scala> var rdd1...

2019-09-23 01:21:33 297

原创 [scala-spark]11. RDD控制操作

Spark可以将RDD持久化到内存或者磁盘,持久化到内存可以极大的提高迭代计算以及计算模型之间的数据共享,一般情况下,执行节点60%内存用于缓存数据,剩下40%用于运行任务。Spark使用persist、cache进行操作持久化,其中cache是persist的特例。cache():RDD[T] persist():RDD[T] persist(level:StorageLevel):RD...

2019-09-23 01:11:33 214

原创 [scala-spark]10. RDD转换操作

RDD提供了一组非常丰富的操作来操作数据,如:map,flatMap,filter等转换操作,以及SaveAsTextFile,conutByKey等行动操作。这里仅仅综述了转换操作。mapmap是对RDD中的每一个元素都执行一个指定的函数来产生一个新的RDD,RDD之间的元素是一对一的关系。val rdd1: RDD[Int] = sc.parallelize(1 to 9, 3)...

2019-09-23 01:05:13 230

转载 [scala-spark]9. RDD创建操作

1.从集合创建RDDparallelizedef parallelize[T](seq: Seq[T], numSlices: Int = defaultParallelism)(implicit arg0: ClassTag[T]): RDD[T]目的:从一个Seq集合创建RDD参数1:Seq集合,必须参数2:分区数,默认为该Application分配到的资源的CPU核数s...

2019-09-23 00:28:50 401

原创 [scala-spark]8. RDD的实现和编程接口

1. RDD的实现作业调度当对RDD执行“转换操作”时,调度器(DGAScheduler)会根据RDD的血统来构建由若干调度阶段(State)组成的有向无环图(DAG),每个调度阶段包含尽可能多的连续“窄依赖”转换。调度器按照有向无环图顺序进行计算,并最终得到目标RDD。调度器(TaskScheduler)向各节点分配任务采用延时调度机制并根据数据存储位置来确定(数据本地性:移动计算而非...

2019-09-23 00:18:13 200

原创 [scala-spark]7. list 与 map

1. listScala 语言中提供的数组是用来存储固定大小的同类型元素,数组对于每一门编辑应语言来说都是重要的数据结构之一。声明数组变量并不是声明 number0、number1、...、number99 一个个单独的变量,而是声明一个就像 numbers 这样的变量,然后使用 numbers[0]、numbers[1]、...、numbers[99] 来表示一个个单独的变量。数组中某个指定...

2019-09-22 23:48:18 423

原创 [scala-spark]6. 继承与特质trait

1. 继承定义抽象类abstract class Element{ def contents:Array[String]}抽象类的方法没有实现,抽象类的类本身必须被abstract修饰。而方法只要没有实现,它就是抽象的,不需要加abstract。定义无参方法abstract class Element{ def contents:Array[String] def...

2019-09-22 23:31:00 409

原创 [scala-spark]5. 伴生类和伴生对象

单例对象与类同名时,这个单例对象被称为这个类的伴生对象,而这个类被称为这个单例对象的伴生类。伴生类和伴生对象要在同一个源文件中定义,伴生对象和伴生类可以互相访问其私有成员。不与伴生类同名的单例对象称为孤立对象。(弥补了Scala中缺少static关键字的缺陷,可以与java无缝对接)import scala.collection.mutable.Map class ChecksumAcc...

2019-09-22 23:15:12 347

原创 [scala-spark]4. 函数式编程

1. 几个概念说明在Scala中,方法与函数几乎可以等同(定义 使用 运行机制),只是函数的使用方法更加灵活多样 函数式编程是从编程方式的角度来谈的。函数式编程把函数当成一等公民,充分利用函数、支持函数的多种使用方式(调用)。既可以作为函数的参数使用,也可以将函数赋值给一个变量;此外函数的创建不用依赖类或者对象,而在Java中,函数的创建需要依赖类/抽象类或者接口package com....

2019-09-22 22:57:08 265

原创 [scala-spark]3. 变量 数据类型 分支与循环

1. 变量定义与初始化package com.lineshen.chapter2 object variable { def main(args: Array[String]): Unit = { val age: Int = 10 val sal: Double = 10.9 val name: String = "lienshen" val isP...

2019-09-22 20:27:53 234

原创 [scala-spark]2. Scala运行原理与源码查看

运行原理韩顺平查看源码package com.lineshen.chapter1object lookSourceCode { def main(args: Array[String]): Unit = { val arr = new Array[String](10) for (item <- arr){ println("item ...

2019-09-22 17:28:54 292

原创 [scala-spark]1. Spark vs Hadoop 及 基础

1. Spark与Hadoop2. MapReduce的基本计算过程与之相对比的是Spark往往在一个内存的物理节点完成计算(主要用内存,Shuffle的时候也用到磁盘)。很多操作,比如说单纯的map操作,没有reduce操作;或者Filter类的操作,都可以基于内存进行计算。MR的计算模型相比较,非常固定,而且死板。必须基于磁盘,以及大量的网络传输。所以,spark的速度...

2019-09-22 11:12:56 206

原创 Go进阶(9): For Range 性能研究

遍历数组,map集合,Slice切片等,Go提供比较好用的For Range方式。range是一个关键字,表示范围,和for配合使用可以迭代数组,map等集合。用法简洁,而且map、channel等也都是用for range的方式,所以在编码中我们使用for range进行循环迭代是最多的。对于这种最常使用的迭代,尤其是和for i=0;i<N;i++对比,性能怎么样?需要深入了解。1....

2019-09-21 15:25:16 245

原创 [java进阶]4.关键字throws和throw

1. throws 关键字throws关键字主要用于方法声明上,指的是当方法之中出现异常后交由被调用处处理。class MyMath{ //由于存在throws,那么就表示此方法里面产生的异常交给被调用处处理 public static int div(int x, int y) throws Exception{ return x/y...

2019-08-29 02:42:07 553 1

原创 [Embeding-3]综述:词嵌入以及与分布式语义模型的关联

1. 前言近年来,在许多NLP任务中,无监督学习单词嵌入已经取得了巨大的成功。他们的效果如此之好,以至于在许多NLP体系结构中,几乎完全取代了更传统的分布式表示,如LSA特征和Brown聚类。可以看看2017的EMNLP和ACL会议,他们都及其关注词嵌入,即使最近的ACL Communication,也直言道词嵌入是NLP突破的催化剂,这时候我们不仅要仔细思考,词嵌入真的需要如此的大肆宣传...

2019-08-29 02:32:19 861

原创 [java进阶]3.slf4j作用及其实现原理

参考博客:https://www.cnblogs.com/xrq730/p/8619156.html1.简单回顾门面模式slf4j是门面模式的典型应用,因此在讲slf4j前,我们先简单回顾一下门面模式,门面模式,其核心为外部与一个子系统的通信必须通过一个统一的外观对象进行,使得子系统更易于使用。用一张图来表示门面模式的结构为:门面模式的核心为Facade即门面对象,门面对象核心为...

2019-08-28 01:13:09 158

原创 [java进阶]2.Jedis基础与List的接口

1. Jedis应用与基本连接jedis 是 redis推荐的java客户端。通过Jedis可以很方便地使用java代码的方式,从而对redis进行操作。jedis使用起来比较简单,它的操作方法与redis命令相类似。jedis在github上的下载地址为https://github.com/xetorthio/jedis 。如需要maven管理,可以添加如下依赖:<depe...

2019-08-28 00:49:59 205

原创 [java进阶]1.Java读取txt文件和写入txt文件

1. Java读取txt文件import java.io.*;import java.util.ArrayList;import java.util.List;public class unitTest { public static void main(String[] args){ List<String> checkins = new Arr...

2019-08-28 00:05:20 817 4

串口通讯代码

利用C#开发出的串口通讯代码,可以实现对下位机的控制,软件界面简介

2014-06-09

用于特征图/卷积核/响应图可视化的网络

这个是为博客‘非黑盒矣-卷积神经网络的可视化’匹配的已经训练好的网络。 通过该网络和博文中阐述的代码,从而复现实验。

2018-12-18

Python+OpenCV实现Selective Search算法

The code is a Python tutorial for Selective Search using OpenCV 3.3.

2018-10-29

softmax regression测试代码

代码实现了softmax regression。 包含训练代码,测试代码和训练数据。

2018-10-15

logistic逻辑回归配套资源

logistic逻辑回归的配套资源。 里面包括训练代码、测试代码。其中也包括了训练集、测试集。

2018-10-14

英伟达深度神经网络加速库 与 matconvnet配套使用 (v5.1)

CuDNN是专门针对Deep Learning框架设计的一套GPU计算加速方案,目前支持的DL库包括Caffe,ConvNet, Torch7等。

2018-07-11

21个项目玩转深度学习

《21 个项目玩转深度学习——基于TensorFlow 的实践详解》以实践为导向,深入介绍了深度学习技术和TensorFlow 框架编程内容。 通过本书,读者可以训练自己的图像识别模型、进行目标检测和人脸识别、完成一个风格迁移应用,还可以使用神经网络生成图像和文本,进行时间序列预测、搭建机器翻译引擎,训练机器玩游戏。全书共包含21 个项目,分为深度卷积网络、RNN网络、深度强化学习三部分。读者可以在自己动手实践的过程中找到学习的乐趣,了解算法和编程框架的细节,让学习深度学习算法和TensorFlow 的过程变得轻松和高效。本书代码基于TensorFlow 1.4 及以上版本,并介绍了TensorFlow 中的一些新特性。 本书适合有一定机器学习基础的学生、研究者或从业者阅读,尤其是希望深入研究TensorFlow 和深度学习算法的数据工程师,也适合对人工智能、深度学习感兴趣的在校学生,以及希望进入大数据应用的研究者。

2018-06-15

数学之美完整版

很好的一本书 是清华师兄的大作,将通信领域和语音处理领域应用的数学深入简出的道来

2016-11-10

2-D and 3-D Image registration 图像配准

1.计算机影像学、手术导航领域专业书籍 2.国外具有影响力的图像配准参考书籍 3.图书中包括2D-2D图像配准的方法与策略,并详细地论证了3D-2D医学图像配准的方法。对图像处理、模式识别领域具有重要参考意义。

2016-07-27

沈子恒的留言板

发表于 2020-01-02 最后回复 2020-01-02

C++ 头文件中定义类A,并声明APrivate. 然后在相应的源文件中对APrivate进行定义,请问有什么意义?

发表于 2017-09-25 最后回复 2019-04-30

应设置加速审核功能

发表于 2018-09-18 最后回复 2018-09-18

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除