使用CMake,启用RUNPATH特性,可以参考官方帖子。 如下源码来自于上述帖子。 CMAKE_MINIMUM_REQUIRED(VERSION2.8FATAL_ERROR) PROJECT(RUNPATHC) SET(CMAKE_VERBOSE_MAKEFILEON) SET(CMAKE_INSTALL_RPATH$ENV{HOME}/lib) FILE(WRITE${CMAKE_BINARY_DIR}/main.c"intmain(void){return0;}\n") ADD_EXECUTABLE(mainmain.c) INSTALL(TARGETSmainRUNTIMEDESTIN...

  s5EH7MiXPf4U   2023年12月31日   27   0   0 C++

本文于2017年3月份完成,发布在个人博客网站上。考虑个人博客因某种原因无法修复,于是在博客园安家,之前发布的文章逐步搬迁过来。 最近在研究docker的使用方法,恰好手边有一本docker源码分析的书,所以在ubuntu环境下准备了一套golang的开发环境,便于在学习docker使用的时候顺便学习golang。虽然目前golang可用的开发IDE很多,但作为vim爱好者,自然期望使用vim来构建golang的开发环境,于是参考tonybai的Golang开发环境搭建-Vim篇(原文链接)操作,当然也遇到了点问题。在vim的配置文件/.vimrc中增加如下配置后,打开vim时总提示找不到映...

  s5EH7MiXPf4U   2023年12月31日   19   0   0 Go

本文记录的是2016年4月初发生的事情。 前几天,标准CI的静态检查页面发现一个项目组同事引入的FindBugs问题,EQ_COMPARETO_USE_OBJECT_EQUALS,CI对这个问题给出的介绍如下 ClassdefinescompareTo(...)andusesObject.equals() 同事没见过这个问题,不了解如何修改,于是在中午回基地吃饭的路上一起讨论这个问题。 其实这个问题并不复杂,也不困难。FindBugs工具是在抱怨一个JavaBean类实现了Comparable接口,但却使用了父类(java.lang.Object类)的equals方法,没有覆盖父类的实现...

  s5EH7MiXPf4U   2023年12月31日   10   0   0 Java

本文于2016年3月完成,发布在个人博客网站上。考虑个人博客因某种原因无法修复,于是在博客园安家,之前发布的文章逐步搬迁过来。 近日项目组对当前开发、维护的Web系统做了AppScan扫描,扫描的结果惨不忍睹,问题很多。报告中报到“缺乏HTTP安全头部”。之前对HTTP协议的安全头部了解不多,为了消除AppScan报告中的警告,同时做更多的了解,搜集了一些相关的资料,于是有了本篇汇总笔记。 HTTP协议的安全头部 安全是一个非常大的话题,比如下面提到的HTTP安全头部,每个都可以使用单独的文章来说明和介绍。但Jackie当前还处于Web开发的入门阶段,还谈不上什么心得体会,先把找到的文章罗列...

  s5EH7MiXPf4U   2023年12月31日   16   0   0 Java

本文于2016年3月完成,发布在个人博客网站上。考虑个人博客因某种原因无法修复,于是在博客园安家,之前发布的文章逐步搬迁过来。 nginx的配置方法 可以参考JerryQu的本博客Nginx配置之完整篇。 Tomcat的配置方法 以Java语言实现的Connector为例,介绍配置方法。 创建证书 Windows下,可以在CMD下执行命令"%JAVA_HOME%\bin\keytool"-genkey-aliastomcat-keyalgRSA-keystoretomcat.key Unix下,可以在shell下执行命令$JAVA_HOME/bin/keytool-genkey-alia...

  s5EH7MiXPf4U   2023年12月31日   17   0   0 Java

HttpOnly是什么 简单的说: HttpOnly是Cookie的属性; Web服务器通过为Cookie设置这个属性,告诉浏览器应当避免页面端的脚本访问对应Cookie的值,保证被Cookie承载的敏感信息不被恶意读取; Web服务器可以保存一些用户的敏感数据到Cookie中,实现比如SSO的功能; 当然是否安全,光靠Web服务器设置HttpOnly属性是没有用的,浏览器需要按要求支持这个属性,否则仍然存在安全问题。 为Cookie设置HttpOnly属性的语法如下。 Set-Cookie:<name>=<value>[;<name>=<valu...

  s5EH7MiXPf4U   2023年12月31日   16   0   0 Html/Css

转写时长超出60秒的语音文件,业界的竞品通常会使用创建异步转写任务的方式来提供支持。一个简单、直接的实现方案,即: 网关服务接收到来自客户的转写请求时,将任务信息持久化至任务队列中。 由算法服务的实例从任务队列中提取任务,并执行转写操作。 待执行完毕之后,将转写结果保存至DB中,供调用方查询。 本文主要针对介绍任务队列的要求和选型。 在语音识别的文件转写的场景下,对于任务队列的常规诉求: 允许多个生产服务向队列中增加任务。 允许多个消费服务从队列中提取任务。 任务队列自身具备可靠性,避免自身成为影响整体系统可靠性的单点。 任务队列的读、写操作,效率满足业务要求,避免成为影响整体系统效率的...

  s5EH7MiXPf4U   2023年12月31日   17   0   0 机器学习

这个标题不够严谨,不同业务领域下的模型,没有可比性。因此,应当增加一定的限定条件,才能对机器学习的模型进行比较。 当前可行的限定条件,如下: 模型 模型结构 参数的数量 训练算法 训练时长 数据 训练数据集 验证数据集 数据质量 基础平台 训练平台 硬件 软件 运行平台 硬件 软件 在给定上述条件时,可观察的指标有: 模型自身的特征 模型占用的硬盘空间 模型占用的内存空间 资源类指标 CPU使用量 内存使用量 GPU使用量 GPU内存使用量 模型的性能 准确性,和业务领域、模型强相关。 时间开销,这里主要指使用模型执行推断操作时的时间开销,不包括推断框架自身...

  s5EH7MiXPf4U   2023年12月31日   15   0   0 机器学习

本文于2016年4月完成,发布在个人博客网站上。考虑个人博客因某种原因无法修复,于是在博客园安家,之前发布的文章逐步搬迁过来。 前段时间测试MM反馈了一个问题,在富文本编辑器里上传的图片无法正常呈现。因为Jackie在本机的环境上没有观察类似的现象,而恰好那天测试环境的某个重要配项被改错了,于是Jackie想当然的归类为配置项错误引入的问题。但修改完测试环境的配置项后,测试反馈富文本编辑器内图片无法呈现的现象依然存在。 这下就有点麻烦了,问题是在版本上线的前一天晚上发现的,如果问题不能尽快处理,势必对第二天的版本上线产生影响。虽然逢上线必加班至深夜,但也不能让问题挂在Jackie手里。 时间...

  s5EH7MiXPf4U   2023年12月30日   23   0   0 Java

本文于2015年底完成,发布在个人博客网站上。考虑个人博客因某种原因无法修复,于是在博客园安家,之前发布的文章逐步搬迁过来。 背景 前段时间研究使用YUICompressor压缩项目里的js和css文件,研究了两天之后,终于在周三晚上把YUICompressor集成进了打包流程中;于是周四(2015-11-12)早晨一到办公室,第一件事就是把相关的构建脚本提交至配置库。 从诡异的问题开始 刚高兴没多久,测试MM就发现一个Bug,有个页面的样式出了问题,导致自动化用例执行失败,要求开发尽快处理。 起初没太注意,感觉只是个小问题,于是直接让对应特性的开发责任人去定位。一个小时之后,测试MM过来问...

  s5EH7MiXPf4U   2023年12月30日   24   0   0 Html/Css

本文于2017年上半年完成,发布在个人博客网站上。考虑个人博客因某种原因无法修复,于是在博客园安家,之前发布的文章逐步搬迁过来。 最近由于工作关系,接触到了docker技术。为了对docker有更多的了解,于是花时间在家里的Windows10机器上准备了docker的运行环境,方便在业余时间学习新技术。安装过程比较简单: 在Windows10环境下安装ubuntu,现在最新的版本为16.10版本,中文官方网站的下载页面链接。关于在Windows10环境下安装ubuntu,网上的资源非常多,可以直接上网搜索。 在ubuntu16.10下安装docker-ce。过程比较简单,主要是参考文章ub...

  s5EH7MiXPf4U   2023年12月30日   18   0   0 Linux

本文深入探讨语音识别处理环节。 本阶段的重点特性为语音识别、VAD、热词、文本的时间偏移、讲话人的识别等。 语音识别 业界流派众多,比如Kaldi、端到端等,具体选择哪一种,需要综合考虑人员能力、训练数据量和质量、硬件设施、交付周期等,作出相对合理的交付规划。基于Kaldi的方案,优点在于其发挥稳定,缺点是使用难度比较高,学习曲线比较陡峭,具备使用经验的算法工程师相对比较稀缺。端到端方案,业界主要基于Google在17年左右发布的文章作为研究、试验的输入,使用Tensorflow或者Pytorch作为训练、工程化的平台,算法工程师的可获得性比较好,但想要获取比较好的效果,仍需要付出相当的努力。...

  s5EH7MiXPf4U   2023年12月30日   38   0   0 机器学习

准备工作 安装构建时依赖的基础软件 软件清单如下: bzip2 python3 automake libtool cmake gcc g gfortran git subversion 不同平台安装软件的方式不同,比如可以使用yum或者apt-get等。 下载开源软件 软件清单如下: Libunwind glog OpenFST OpenBLAS Kaldi 按照一定的规则,将下载后的文件放在指定目录,如下是样例 opensrc glog glog-0.4.0.zip Libunwind libunwind-1.3.1-src.zip Kaldi kaldi-master.zip Op...

  s5EH7MiXPf4U   2023年12月30日   15   0   0 机器学习

使用机器学习方法来训练模型,使用训练得到的模型来预测语音数据,进而得到识别的结果文本,这是实现语音识别产品的一般思路。本文着重介绍通用语音识别产品对于数据的诉求。 对数据的要求 训练集 相关要求,如下: 地域,需要覆盖使用人群所在的地域,且数据的比例适中。 口音,需要覆盖典型的口音。 年龄,从1860,覆盖各年龄段,且数据的比例适中。 很多国家对未成年人有非常严格的保护措施,因此收集未成年人的数据比较困难。 未成年男性的声音和青年女性的声音,从生理角度存在一定的相似度,这给质量控制增加了复杂度和相应的工作量。 性别,男、女,比例适中。对于特定的语种,这个要求很难达成,比如某些严格执行教规...

  s5EH7MiXPf4U   2023年12月30日   18   0   0 机器学习

本文深入探讨后处理环节。在本环节要处理的重要特性有分词、断句、标点符号、大小写、数字等的格式归一等。 分词 和NLP、搜索等场景下的分词含义不同。对于拼音类的语言,比如英语、法语等,句子由多个单词组成,语音输出的结果,需要按需在各个单词之间补充或者去掉空格。对于中文来说,字和词之间不以空格作为边界,因此分词的意义不明显。 断句 狭义的语音识别只处理语音到文字的转换,由于语音数据中缺少一些明确的提示信息,因此语音识别的结果中欠缺断句的信息。对于用户使用语音识别的结果时,缺少断句的文本会降低阅读体验,增加理解的困难,同时限制了语音识别的使用场景。为了解决这个问题,需要在语音识别的输出结果中,增加必...

  s5EH7MiXPf4U   2023年12月30日   20   0   0 机器学习

本文深入探讨前处理环节。首先介绍一些基本的名词,比如 文件名后缀 文件格式 音频格式 采样率和位深 预备知识 文件名后缀、文件格式和音频格式 常见的音频文件,比如.wav、.mp3、.m4a、.wma等,这些都代表什么?仅仅是这类音频文件的后缀而已,不一定和音频文件的编码、音频数据的编码相关。 举例说明: 比如.pcm 比如.wav,一般保存的是带有wav规范文件头的,PCM格式的音频。 比如.mp3,指的是保存MovingPictureExpertsGroupAudioLayerIII格式的音频数据的文件。 比如.m4a,和前两个后缀不同,并没有名为m4a的规范,实际指的是保存MPEG...

  s5EH7MiXPf4U   2023年12月30日   122   0   0 机器学习

分析Google、讯飞、百度、阿里、QQ、搜狗等大厂的ASR服务,可以罗列出一款ASR服务所需要具备的能力。 产品分类 ASR云服务产品,从用户体验、时效性、音频时长,可以划分为如下几类: 实时短音频转写,可以用于支撑输入法、搜索、导航等场景。 实时长音频转写,可以用于支撑视频字幕、图文直播、会议直播等场景。 文件短音频转写,或者一句话语音识别,可以用于支撑输入法、搜索、导航等场景。 文件长音频转写,或者录音文件转写,可以用于支撑视频字幕、会议记录等场景。 产品特性 从特性上讲,一款ASR产品,在语音识别的过程,可划分为前、中、后,三个阶段,相关的特性可依据不同阶段的特点进行划分,如下是简...

  s5EH7MiXPf4U   2023年12月30日   13   0   0 机器学习

对于通常的软件项目,参与角色,比如可以有用户,消费者,产品团队,研发团队(研发团队包括开发和测试),运营团队,运维团队,管理团队。 通常认为,用户,负责购买服务的群体,而消费者,负责使用业务的群体。这两个群体,不在本文的讨论范围之内,因此后续的介绍中,除非明确说明,否则默认均不涉及。 产品团队,研发团队(研发团队包括开发和测试),运营团队,运维团队,管理团队,可以归纳为产品交付团队。 关于各团队的简单的说明: 产品团队,负责定义产品,规划路标,收集和定义需求的团队。 研发团队,可以细分为架构团队,设计团队,开发团队,测试团队。 架构团队,依据产品定义,路标规划,定义并看护产品的架构。 设计...

  s5EH7MiXPf4U   2023年12月30日   16   0   0 机器学习

本文记录,作为项目主要负责人,完整参与语音识别项目的交付历程。 2019年12月中旬接到项目交付任务,收集基本知识,启动业务分析工作。 2020年1月完成竞品分析的整理。梳理合作伙伴的清单,整理项目计划,启动和各合作伙伴的沟通工作。启动架构方案、设计方案的准备工作。 2020年2月和合作伙伴A谈好合作方案,基于云云对接的方式,启动项目交付工作。架构设计、方案设计(文件转写)完成文档的输出和评审。月底,支持短文件转写(即时长在60秒以内的语音文件)的服务,在生产环境顺利上线。 按照部门要求,后续按照月度版本的方式组织交付,即月初启动交付,月底完成版本发布和生产环境的变更。 本月版本交付的内容: ...

  s5EH7MiXPf4U   2023年12月30日   16   0   0 机器学习

一般而言,业务诉求作为架构设计的输入。 需求清单 对于语音识别产品而言,需满足的需求,举例如下: 功能需求 文件转写。 长文件转写,时长大于60秒,小于X小时,X可以指定为5。 短文件转写,时长小于60秒。 实时语音识别。 长语音识别,时长大于60秒,小于Y小时,Y可以指定为5。 短语音识别,时长小于60秒。 支持多个语种。 其它功能需求,比如: 前处理 支持多种音频文件格式。 支持多种采样率和位深。 支持去回声和抗噪。 支持在音频文件中处理多个声道。 中间处理 支持VAD。 支持区分音频文件中的多个讲话人。 支持输出文本对应的时间偏移。 支持使用热词提高字准率。 后处理 ...

  s5EH7MiXPf4U   2023年12月30日   14   0   0 机器学习
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~