Home - Tobycc
15262
home,page-template,page-template-blog-masonry,page-template-blog-masonry-php,page,page-id-15262,ajax_fade,page_not_loaded,,qode-title-hidden,qode-theme-ver-13.5,qode-theme-bridge,disabled_footer_bottom,wpb-js-composer js-comp-ver-5.4.5,vc_responsive

新的一年,重新折腾了下网站模板 最近有感于MOMO的去世,决定以后要多发点Joey的照片当做记录,珍惜他能陪伴我日子,也提醒我平时要多拍一些狗片 一切恩爱会,无常难得久;但因为有别离,相聚的日子才显得可贵   [gallery ids="16072,16065,16063,16067"]...

std::queue在pop之后不会释放内存,在执行swap或queue析构时才会释放被pop掉的元素占用的内存 或者定义成shared_ptr的queue可以直接在pop时释放内存 [cc lang="c++"] std::queue [/cc] 以下面的代码为例: [cc lang="c++"] #include #include #include int main() { std::queue the_queue; uint64_t total_size = 5000000000; ...

Tensorflow简介 Tensorflow的定位 TensorFlow是一个采用数据流图,用于数值计算的开源软件库。被开发用于机器学习和深度神经网络方面的研究,但这个系统的通用性使其也可广泛用于其他计算领域。 通用计算框架、算法引擎,提供了多种机器学习的基础计算单元op(operator,如自动反向传播求解梯度、卷积、LSTM),用户可以方便的设计实现神经网络结构。 低于深度学习框架(如Caffe、Paddle),用户除了配置网络结构参数外,需要自己使用计算单元op实现具体的算法,可自定义计算逻辑,算法实现的自由度更高。 高于编程框架(如ELF、目前的Hippo),在计算引擎上层封装了包含多种计算单元op的高阶机器学习库,用户主要关注算法逻辑,而不是基本计算单元(ELF的map, Hippo的node)的实现 类似数学分析领域的MatLab,提供强大的运算接口,上层的应用怎么实现看用户编程。 「hadoop是大数据时代的infrastructure, 而tensorflow会是人工智能时代的infrastructure」 Tensorflow的发展和现状 Tensorflow是由Jeff Dean领头的Google Brain团队基于Google内部第一代深度学习系统DistBelief改进而来的通用计算框架。 DistBelief是Google2011年开发的内部深度学习工具,在内部取得了巨大成功,在Google的图片搜索和语音识别业务上都有突破性的进展(开创了图片搜索功能,语音识别错误率降低了25%,相当于前十年的总和)。 2015年11月发布基于Apache2.0开源协议的Tensorflow,去除了DistBelif对Google内部的系统依赖,计算模型更加通用、计算速度更快、支持计算平台更多、支持深度学习算法更广,系统稳定性更高。 2016年5月发布专门为机器学习和Tensorflow定制的张量处理单元TPU,可编程的AI加速器,提供高吞吐量的低精度计算,面向使用或运行模型而不是训练模型。 2017年2月发布大版本Tensorflow 1.0,更快、更灵活的新特性,Keras正式成为Tensorflow默认API,提供高级别的神经网络框架API。 Tensorflow在Google内部得到广泛的应用,在排序系统的上千种排序算法中,基于Tensorflow实现的RankBrain是第三重要的排序算法。包括网页搜索在内,Tensorflow已经成功应用到Google内部语音搜索、广告、电商、图片、翻译、YouTube、街景图等各款产品中。Deepmind在尝试半年后正式宣布之后所有的研究都将使用Tensorflow作为实现深度学习算法的工具。 包括Uber、Snapchat、Twitter、京东、小米国内外多家科技公司都在使用Tensorflow,Google I/O 2016大会上提到已经有1500个GitHub代码库在使用Tensorflow,其中只有5个是Google官方提供的。 各种开源深度学习框架和工具层出不穷,各有优点。Tensorflow坐拥巨头Google的全力支持,以及自身设计神经网络结构的代码的简洁度、分布式深度学习算法的执行效率、部署的便利性等亮点,在开源社区活跃度上占有绝对优势,大有一统江湖之势。 左图为不同深度学习工具社区流行度指标比较, 截止到2016年11月github的star和fork数量;右图不同深度学习工具社区参与度指标比较,2016年11月单月讨论和提交代码数量。tensorflow各个指标都远超其他,并且领先优势还在扩大。 Tensorflow使用 编程模型 Tensorflow是基于计算图Graph的计算框架,要求用户将自己需要实现的机器学习算法都实现为数据以张量Tensor的形式在多个计算单元Operator之间计算流动的过程,即张量的数据流Tensor-Flow。 主要概念 张量Tensor: 基本数据单位,Tensorflow里所有的数据皆为Tensor。 Tensor形式为多维数组,在Tensorflow Python API里以Numpy.NDArray的形式。 常用Tensor:0阶Tensor为标量,1阶Tensor为向量、数组,2阶Tensor为矩阵 Tensor只是对数据结果的引用,没有真正的保存数据,保存的是如何得到这些数据的计算过程。在Session中运行时才能得到真正的数据。 计算单元Operator:计算图中的每一个节点,单个计算过程;每个计算单元的输入可以是0或多个Tensor,输出可以是0或多个Tensor。 计算图Graph:由多个计算单元Operator通过边连接形成的图,计算单元之间的边表示了计算之间的Tensor数据传递关系;特殊的边控制依赖controll dependencies,控制计算节点之间的依赖关系。 变量Variable:需要保存的参数状态。而参数是在图中有其固定的位置的,不能像普通数据那样正常流动。因而,Tensroflow中将Variables实现为一个特殊的算子,该算子会返回它所保存的可变tensor的句柄。 会话Session:拥有并管理Tensorflow程序运行时的所有资源,用户定义完的计算图Graph必须再Session中执行才能得到真正的计算结果;可以配置并行线程数、CPU/GPU分配策略等运行参数。 占位符Placeholder、数据Feed/Fetch:数据占位符Placeholder可以为计算单元op预留指定格式的Tensor输入,在Session运行中使用Feed机制使用新的指定格式Tensor临时替换作为输入,使用Fetch机制可以取回Session运行中的Tensor结果。 MNIST DNN Demo Tensorflow游乐场 网络结构: 模型结果: W1、B1、W2、B2四个tensor W1.shape = [784, 4] ,B1.shape = [4] ,  W2.shape = [4, 10] ,...

昨天年会和同事一起去场地游了个泳,泳池水很清,温度适中,人也很少。游到中间,发现水特别深,我扶着护栏都稳不住身子,才发现旁边提示中间水深2米,远超出了以前游过的泳池的深度。 本来很久没游了,动作就比较生疏,再加上这么一个相对陌生又危险的环境,游的过程心里一直忐忑不安。总想着万一自己一个错误动作,没有稳住怎么办?旁边好像没看到有救生人员在巡逻,泳池今天人这么少其他人能注意到么?泳池这么深,要是直接沉下去去连水花都溅不起来其他人更注意不到了吧。一起过来的同事也不常来,不知道技术怎么样,现在也不知道游哪去了?万一他们溺水了,我能注意到么?就算发现了,今天这个环境我又能救到么? 心里一直想着这些乱七八糟的,总感觉很慌乱,不知不觉手脚的节奏也偶尔乱一下,呛上几口水。于是开始安抚自己不要想有的没的,专心去执行每一个手脚的动作,稳定下潜上浮和呼气吸气的节奏。在刨除了这些杂念后,开始能够在脑海里投影出每一个动作做出后手脚画出的曲线,开始能够体会到身体各个部位与水流接触并滑动的感受,很快便又重新熟悉了起来,后面也成功在新泳道连续游上两三个来回。 后来想想在生活中,『心有杂念』一直以来都是我根深蒂固的问题,一个项目还没开始实施,在设计和写文档阶段就会想到各种问题,总是会想这块到时候写的时候可能会遇到什么问题,不知道怎么解决?不知道能不能解决?那块到时候用到的什么模块,我没接触过,不知道能不能hold住?不知道这么用会不会有其他未考虑的问题? 然后整个项目在我脑子里一直都是问题重重,迷雾笼罩,很多不知道怎么解决的问题和不确定的因素会一直在我脑子里过啊过,就像游泳的时候会一直想的溺水那些事情。结果不仅导致自己常年心里处于一个很忐忑很烦躁的状态,也往往因为自己的心理因素影响了工作状态,潜意识觉得这是一个大坑,我不想做,我不想开始处理这么多问题,然后工作各种拖延,总要等到快deadline了才开始着急,开始尽快的研发,而往往一直烦的那些问题,要么其实根本碰不到,要么为了赶deadline很low的处理过去了,降低了工作质量,也为以后埋下来很多坑;然后在deadline没来之前,虽然拖延着工作效率很低,但心理却常常焦虑的不行,把没干的活和没解决的问题在脑子里一遍又一遍的过,还经常导致睡不好甚至失眠。 还记得以前和大龙哥1on1的时候说过自己心理的一些问题,他评价我本质上是一个特别理性的人,虽然会胡思乱想出各种想法,但最终还是会综合考虑一番,不会做出自己担心的事情,只是往往会自寻烦恼。还有以前我给他汇报工作的时候,也经常会把自己凭空考虑的一堆问题都会提一下。大龙哥曾经说过的一句话让我至今印象深刻,『不要怕有问题,公司花钱请你就是让你来解决问题的,发现问题解决问题才是我们工作的主要内容』。 我想对我而言,最大的问题的就是害怕『不确定』,害怕生活或工作中的内容『不在掌控中』,对已知可能存在但有没有已知解决方案的问题会恐惧会焦虑。这些问题一直以来都影响了我的工作和生活状态,让自己常年处在拖延、焦虑、烦躁的状态中,无法专注的工作,也无法专注的享受生活。哪怕在朋友同事看来,我的工作一直都完成的很不错,我的生活也有很多值得令人羡慕的地方,甚至我的性格和日常活动也根本看不出内心里的各种焦虑和烦躁的现象。 然而在这个比较的浮躁的社会里,『专注』本身已经是一个很稀有的品质。大家追求的已经不是成功,而是马上成功,每一个刚工作的人都恨不得立刻年薪百万,结果导向的思维也已经比过程导向更深入人心。所以我相信,一定有很多的人和我一样,因为『不确定』的问题,而让自己拖延、焦虑和烦躁,无法『专注』的去思考去工作去生活。 但我还是希望能够慢慢的改善过来,就像游泳一样,尽快渡过『心有杂念』的阶段,或者让自己的杂念越来越少。能够像专心去做每一个游泳的动作,每一次呼吸的节奏一样,处理自己工作中的每一个项目,生活中的每一个琐事。 然而工作和生活远比游泳要复杂的多,虽然我现在做不到去享受『不确定』给生活带来的美好,体会不到『生活就像一罐巧克力,你永远不知道下一颗是什么口味』的美妙之处。我还是希望能够尽快的接受『不确定』和『无法掌控』在生活中的常态,去接受『发现问题解决问题』才是我们工作与生活的主要内容。 希望自己可以慢慢的更加专注,减缓些拖延症,改善自己心理焦虑和烦躁的状态。希望可以自己像游泳一样,能够专注的『游在当下』。 士不可不弘毅,任重而道远。...

不知不觉马上又到年底了,这半年来,自己身上的臭毛病没改掉多少,计划的很多事情没有做完。不过心态似乎比以前好了不少,焦虑和烦躁的程度减弱了很多。我想了想,可能是已经开始学会诚实的面对自己,慢慢学会和自己接触。   我开始学会接受自己改不掉拖延症的事实,放弃与伴随着百万年进化深藏在体内的拖延基因的抵抗,开始习惯在拖延下的生活和工作方式,开始尝试更有意义的结构性拖延和分解成更多的机械性劳动。   我开始学会不再勉强自己去做『应该做但不想做』(Should but don’t want to)的事,开始不再给自己定很多看上去很热血的目标,不再计划读很多 『学会以后对自己工作和发展肯定很有帮助,但看起来很费劲很不想去翻』的书,不再因为很多计划的事情没有做到而后悔内疚。   我开始享受一些无意义的虚度的光阴,让自己过的更随性开心一些。开始熬夜看一些自己很想看的比赛,开始捡起一些自己没时间玩的游戏,开始经常去电影院沉浸在脱离现实的一两个小时,开始多花一些承受范围内的钱在吃喝玩乐上,不再经常在休息时间纠结一堆工作上没解决的问题。   我开始接受不好的自己,不再自卑自己的性格弱点和半吊子的职业水平,不再纠结着什么时候能够晋升涨薪,不再想着多少年内在北京买房安定,开始承认自己的局限和有限的能力,开始接受和正视带有很多遗憾的现实和过去,以及可预见的有很多遗憾的未来。   我开始正视自己真正的想法,尝试和真实的自己相处,不再尽量把自己塞进自己限定的一个框架里,不再用自己的责任和别人的看法去束缚自己的内心和行动。   我不知道这些改变是好是坏,从小学习和长大过程中养成的习惯让我一步步走到今天,带来很多看上去不错的成绩,也让我这几年过的很不快乐。   我不知道这些『减少自己自制力和责任心』的改变对以后会带来怎样的影响,也许只是为了让现在的自己开心一点,为了能达到更久的以后。    ...

希望能够早日以心平气和的心态去度过每一天: 不因未完的工作而焦虑, 不因未来的挑战而担忧, 不因虚度的慵懒而悔恨, 不因模糊的愿景而迷茫……...

想起少年时,应该是小学四年级暑假的一个早上,天气很热,家里人在客厅铺了凉席睡在地上。由于我昨晚睡得早了些,大概五六点钟就醒了,其他人都还睡着。一个人醒来后,我翻着手工书,拿易拉罐、瓶子、手工纸做了好几个玩具。其他人还没醒,我自己来到院子里,拿粉笔在地上画着刚学的猴子。 夏天的早上,阳光很好,照在院子的菜地上,菜地里有颗向日葵仰着头追着太阳。向日葵旁边是一颗香椿树,香椿树上挂着一个鸟笼,里面有两只鹦鹉在叽叽喳喳。鸟笼下面是用砖块简单堆砌的一个花架,养了几盆紫茉莉、太阳花、落地生根等常见的盆栽。我在地上画了一只又一只的猴子,越画越熟练,那只叫豆豆的狗一直趴在门口眯着眼睛看着院子。 没有任何的杂念,也不用担心上学、作业和考试,直到家里人一个个的醒来,这种平静的感觉似乎持续了好久,久到现在回想来似乎还历历在目。然而事过境迁,那时的玩具,那时的画,那时的花草,那时的狗狗,那时的院子,那时的家,竟已恍如隔世。 后来家里变故太多,随父母在江浙漂过好几个城市,后来一个人去哈尔滨读书,毕业后又来北京工作。经历过很多,回想起来,却难再有少年时那种平静的心境。读书时的熬夜苦读,多少次梦到在考场上答卷却什么都做不出来焦急的醒来;青春时的情窦初开,患得患失;在实验室时,被导师压迫的整天担心毕不了业;工作后压力有增无减,被bug烦的睡不着觉的夜晚,带着上坟一样的心情去上班的早上。 人长大后追求的越来越多,在乎的越来越多,也就再难有那样心无杂念的平静的心境,也再难有那样的Inner Peace...

今天遇到一个非常诡异的问题,应用场景为将用户的输入数据,经过转义(php addslashes),插入到数据库中。查询时,从数据库里获得转义后的字符串,进行json解析。 主要测试了三个转义字符即\,',"的场景,单个符号和其他组合都能正确的转义和解析。但唯独\'连在一起时,json解析会报错 用户输入:test_\' 数据库里存储:test_\\\' api返回:test_\\\' json解析报错:ValueError: Invalid \escape 对应的\"情况 用户输入:test_\" 数据库里存储:test_\\\" api返回:test_\\\" json解析成功 出错的json字符串如下,并没有发现哪里不符合json规范的地方: {"code":0,"data":{"testId":"test-56e282ae59eec","testName":"test_\\\'"}} 成功的json字符串如下,只是'换成了" {"code":0,"data":{"testId":"test-56e282ae59eec","testName":"test_\\\""}} google查阅和问同事朋友也没有结果,最后通过限定了输入只能包括字母数字和下划线来避免这个解析问题,在这里记下来希望以后能解决 update: json的标准不支持单引号,统一用双引号,参考资料,但是其他语言的转义函数是会对单引号进行转义操作的。好吧,真蛋疼...

没想到昨天刚搭完wordpress今天就能更新点问题,今天在家尝试打开后发现速度非常慢,基本上半分钟才能打开一个网页,开始排查 1、打开云服务器下部署的discuz页面,速度很快,排除云服务器的问题和网络攻击问题 2、在服务器下,把这两天新装的两个插件从/wp-content/plugins下目录mv到临时目录,速度依然很慢,基本排除插件问题 3、chrome下F12打开调试模式,重新加载主页,发现有一个api请求一直Pending最终导致超时 查看请求详细信息,发现是请求的url是fonts.googleapi.com,估计是wordpress或主题自带的动态获取字体的功能,猜测可能是和国内请求google不稳定有关 4、搜索wordpress google api相关内容,查到以下资料 http://www.chinaz.com/web/2015/0107/378419.shtml http://blog.csdn.net/missyouzhang/article/details/30977473 http://jingyan.baidu.com/article/b24f6c82c39fd486bfe5daa8.html 5、按照查到的资料,将 /wp-includes/script-loader.php中的googleapi替换成国内的useso,重试,速度还是很慢。调试模式发现还是有googleapi的请求 6、在wordpress根目录执行grep googleapi ./* -r查询所有代码,发现很多代码中都有请求googleapi,其中当前所用的主题下/library/functions/functions.php也请求了fonts.googleapi.com,依然替换成useso,重试速度恢复正常,秒打开。 7、为了防止其他地方googleapi在以后引起的问题,直接在wordpress根目录下执行 [cc lang="bash"]sed -i "s/googleapi/useso/g" `grep googleapi ./* -rl`[/cc] 将所有的googleapi替换成useso   update:更新后调试模式发现请求的url已经变成了fonts.useso.com,但请求立刻返回失败了,不过表面看不出什么明显的区别。手动请求api地址,提示协议错误。测试后发现/wp-includes/script-loader.php中请求的是https://fonts.useso.com,修改为http://fonts.useso.com重新在调试模型下打开,发现请求成功,应该是国内的库还不支持加密的https。 同理在wordpress根目录下执行以下命令将useso的三个地址协议从https改成http [cc lang="bash"] sed -i "s/https:\/\/fonts.useso/http:\/\/fonts.useso/g" `grep https://fonts.useso ./* -rl sed -i "s/https:\/\/ajax.useso/http:\/\/ajax.useso/g" `grep...

作为一个程序员,没有一个自己的个人站点似乎不太合格,所以把这当作自己的site吧 凑活用BCC+Wordpress搭的,把之前在lofter上的数据导入了,不知道能坚持多久 希望能多写些东西,无论是技术文章,个人思考还是其他乱七八糟的东西...