精华内容
下载资源
问答
  • OSGI原由

    2012-09-22 14:04:14
    在运行时,osgi平台将加载这些bundle,而且每个bundle都使用独立的Classloader来加载其中的类。 从Classloader的双亲委托模型可以看到某个类并不能被其Classloader的“兄弟”Classloader查找到。所以osgi正是利用这...
    软件的复杂度总是越来越高,为了解决人有限的处理能力和它之间的矛盾,就要用到“内聚”,也就是说将“复杂度”封装起来,只暴露出少量必要的部分。
    

    例如:高低电平信号->机器码->汇编指令->高级语言语句->函数(function或method)->类(class)->包(package) 就是一个复杂度封装的过程,就是一个“内聚”的过程。

    模块化也是一种更高层面的“内聚”,从java和osgi的角度看,模块化是在包(package)的层面上,更进一步“封装”。

    封装主要需要解决两个问题,一个是“隔离”,一个是“暴露”。

    那么osgi是怎么样解决这两个问题的呢?
    osgi是在jvm的classloader的机制层面上来实现模块化层面的封装。

    一、osgi如何实现模块间的“隔离“?
    jvm包括Bootstrap、Extension、Application和Custom四类Classloader,这4类Classloader之间存在父子关系。这些Classloader采用双亲委托模型(Parent Delegation Mode)实现Class的加载。也就是当一个Class要引用另一个Class时,会先在加载自己的Classloader查找是否有所需的类,否则就委托其父Classloader,一直到Bootstrap Classloader,直到查找到该Class为止,如果直到Bootstrap Classloader都没找到所需的Class,就由本级的Classloader尝试加载该Class,如果加载失败,则抛出ClassNotFound Exception。

    一般来说,在传统的java应用中,除了一些有特殊目的的应用外,通常会有Bootstrap、Extension和Application三个Classloader,应用中的类大部分都会由一个Application Classloader来加载,即使这些类是分布在不同的jar包里,所以在运行时,同一个应用中,不同jar包就可以很方便地通过这个Application Classloader互相引用彼此的类。

    而osgi则是通过在jar包里添加/META-INF/manifest.mf文件,成为一个bundle(所以bundle本质还是一个jar包),这些bundle就是osgi的模块化的具体表现。在运行时,osgi平台将加载这些bundle,而且每个bundle都使用独立的Classloader来加载其中的类。

    从Classloader的双亲委托模型可以看到某个类并不能被其Classloader的“兄弟”Classloader查找到。所以osgi正是利用这个特点,将每个bundle隔离开来,使bundle之间不能互相存取对方的类,这样就达到了模块间的“隔离”的目的。

    二、osgi如何让模块“暴露”出必要的类?
    模块与模块之间会有“耦合”的需要,也就是互相引用/调用彼此的服务的需要。而需要被其它模块引用/调用的服务部分,就需要“暴露”出去。

    在osgi的语境下,模块是通过Export Packages的方式来输出需“暴露”的Packages(这里如果翻译成“包”,和jar包之类的概念有冲突),具体做法就是在/META-INF/mainifest.mf里添加Export-Packages项,将需要输出的Packages列出来,如果有多项,可以用逗号分隔开来,而且可以对这些Packages指明版本号。

    从Classloader的角度看,Export Package则是将需输出的Packages委托其父Classloader来加载,而通常osgi的实现都是用同一个Classloader作为加载bundle的Classloader的父Classloader,所以委托父Classloader来加载,就可以被其他bundle的classloader“查找”到这些输出的Packages。
    展开全文
  • 比特币虽然已经部署了core开发组引以为傲的的隔离验证,但并未达到理想的扩容效果,社区更是没有人使用隔离验证,其中就包括core开发组的铁粉,这不得不说是一个讽刺。至于core开发组鼓吹的闪电网络更是可望不可即。...

    比特币自进入2018年以来价格波动就比较大,给数字货币市场带来了很大的震荡,那么,导致数字货币价格下跌的原因是什么呢?

    首先,对比特币信心不足

    比特币在2015年就已经出现了非常严重的网络拥堵问题,直到今天都没有完全解决。比特币虽然已经部署了core开发组引以为傲的的隔离验证,但并未达到理想的扩容效果,社区更是没有人使用隔离验证,其中就包括core开发组的铁粉,这不得不说是一个讽刺。至于core开发组鼓吹的闪电网络更是可望不可即。比特币这种停滞不前的状态导致社区对比特币的未来信心严重不足。

    比特币已经不再是从前的比特币,它已经分裂成两种不同的数字货币,各自走向了不同的发展道路:大区块爱好者支持的 bitcoin cash BCH;core开发组把持的bitcoin core BCE(暂时占用了比特币的名称)。BCH和BCE一直在争夺正统地位,未来谁能在竞争中脱颖而出,谁才有资格称之为“Bitcoin”。社区一部分人把对BCE的信心不足演变成对BCH的不满只会是币圈的一个笑话。

    其二,外界的非议和攻击

    比特币是数字货币的始祖,也是市值最高的数字货币,比特币的一举一动都可能会影响到整个数字货币行业未来的发展。比特币被比特币现金超越甚至取代,比特币崩盘可能会引起外界的种种非议和攻击,不利于新人的进入,毕竟大多数新人首次听到和接触的都是比特币,比特币的衰落可能会引起整个行业的连锁反应,从而阻碍数字货币行业的发展。

    但从数字货币的发展进程中来看,任何一次大的事件只会暂时把数字货币行业带入低谷,对整个数字货币行业的长久发展不会造成致命的威胁,更不会阻碍整个行业的发展,只会让行业进行反思并迎接下一次高潮。2014年初,全球最大的比特币交易所门头沟(Mt.Gox)宣布被盗85万个比特币(后来找到20万个),在东京申请了破产。这次事件把整个数字货币行业彻底带入了一个长达三年之久的寒冬,但比特币在去年终于迎来了新的春天,数字货币行业不断发展壮大。比特之窗,专业的比特币和区块链行业资讯平台,值得玩家信赖。

    转载于:https://my.oschina.net/u/3780676/blog/1621200

    展开全文
  • 其中 , 对于公式(1)其内涵为, 为损失函数C对于a的偏导(a为神经网络中输入值通过计算到某一神经元时该神经元的值z,经过激活函数优化后的结果) 为激活函数的对于z的偏导数。 即对于反向传播中公式(1)对于...

    在大多数使用sigmoid作为激活函数时,神经网络中通过使用交叉熵损失函数cross-entropy可使网络参数能够快速的从错误中学习问题,使梯度下降中权值w以及偏秩b的下降速率得以提升,即可较为快速的得出网络结果。

    在下方图示中,我们给出神经网络中对于使用sigmoid作为激活函数,在使用二次代价函数(quadratic cost)时产生的一种下降速率缓慢的数据图像。

    图1-1

    对于上图两神经网络中,使用quadratic cost损失函数,并分别使用输入数据1.0,1.0,输出数据要求为0.09,0.20,通过查看其w,b值的计算速度,可以得出对于图二情况下,对于前150个左右的学习时期,权重和偏秩根本没有太大变化。为什么会发生如此变化?

    其根本原因在于对于权值w和偏秩b,其下降速率由其偏导数 ∂C/∂w 和 ∂C/∂b 决定。

    当其偏导数大时,w与b的下降速率快,最终形成神经网络结果时间短。

    对于权值w的偏导数,可根据反向传播过程中的4个基本公式

    \delta ^{L}=\bigtriangledown_{a}C\bigodot \sigma ^{'}\left ( z^{L} \right )                                                  (1)

    \delta ^{l}=\left ( \left ( w^{l+1} \right )^{T}\delta ^{l+1} \right )\bigodot \sigma ^{'}\left ( z^{L} \right )                                  (2)

    \frac{\partial C}{\partial b_{l}^{j}}=\delta_{j}^{l}                                                                         (3)

    \frac{\partial C}{\partial w_{jk}^{l}}=a_{k}^{l-1}\delta_{j}^{l}                                                                (4)

    其中a=\sigma \left ( x \right )=\frac{1}{1+e^{-z}}z=\sum _{j}w_{j}x_{j}+b

    对于公式(1)其内涵为,\bigtriangledown _{a}C为损失函数C对于a的偏导(a为神经网络中输入值通过计算到某一神经元时该神经元的值z,经过激活函数优化后的结果)\sigma ^{'}\left ( z^{L} \right )为激活函数的对于z的偏导数。

    即对于反向传播中公式(1)对于某L层中第j个神经元。

    \delta_{j}^{L}=\bigtriangledown_{a}C\bigodot \sigma ^{'}\left ( z_{j}^{L} \right )=\frac{\partial C}{\partial a_{j}^{L}}\sigma ^{'}\left ( z_{j}^{L} \right )

    公式(3)推导过程如下:

    \frac{\partial C}{\partial w_{jk}^{l}}=\frac{\partial C}{\partial z_{j}^{l}}\frac{\partial z_{j}^{l}}{\partial w_{jk}^{l}}=\delta _{j}^{l}\frac{\partial (w_{jk}^{l}a_{k}^{l-1}+b_{j}^{l})}{\partial w_{jk}^{l}}=a_{k}^{l-1}\delta _{j}^{l}                 (5)

    因此下降速率大小收到偏导数的影响(公式3,4)。

     

    接下来回答为什么对于使用二次代价函数quadratic cost会产生梯度下降缓慢?

    对于第l-1层到l层,第l-1层第k个神经元到第l层中第j个神经元。其梯度值:

    \frac{\partial C}{\partial w_{jk}^{l}}=\frac{\partial C}{\partial z_{j}^{l}}\frac{\partial z_{j}^{l}}{\partial w_{jk}^{l}}=\frac{\partial C}{\partial a_{j}^{l}}\frac{\partial a_{j}^{l}}{\partial z_{j}^{l}}\frac{\partial z_{j}^{l}}{\partial w_{jk}^{l}}=\frac{\partial C}{\partial a_{j}^{l}}\sigma ^{'}(z^{_{j}^{l}})\frac{\partial z_{j}^{l}}{\partial w_{jk}^{l}}=(a_{j}^{l}-y)\sigma ^{'}(z^{_{j}^{l}})a_{k}^{l-1}                 (6)

    即对于当使用quadratic cost函数时,其结果会收到sigmoid的影响。从而导致当z接近于1或0时,其sigmoid梯度值接近于0从而导致公式(3)下降速率为0;

    为解决其学习速度缓慢问题,通过使用交叉熵损失函数cross-entropy替换原有的quadratic cost损失函数来解决此问题。

    交叉熵损失函数

    相较于cross-entropy函数,交叉熵损失函数为:

    使用交叉熵损失函数可确保下降速率缓慢公式推导

    根据图上公式6,通过使用cross-entropy替代quadratic cost导致其\frac{\partial C}{\partial a_{j}^{l}}改变

    以下为改变后推导:

    \frac{\partial C}{\partial w_{jk}^{l}}=\frac{\partial C}{\partial z_{j}^{l}}\frac{\partial z_{j}^{l}}{\partial w_{jk}^{l}}=\frac{\partial C}{\partial a_{j}^{l}}\frac{\partial a_{j}^{l}}{\partial z_{j}^{l}}\frac{\partial z_{j}^{l}}{\partial w_{jk}^{l}}=\frac{\partial C}{\partial a_{j}^{l}}\sigma ^{'}(z^{_{j}^{l}})\frac{\partial z_{j}^{l}}{\partial w_{jk}^{l}}=-\frac{1}{n}\sum _{x} [\frac{y}{a^{_{k}^{l}}}-\frac{1-y}{1-a_{k}^{l}}]\sigma ^{'}(z^{_{j}^{l}})a_{k}^{l-1}=-\frac{1}{n}\sum _{x} [\frac{y-a_{k}^{l}}{a_{k}^{l}(1-a_{k}^{l})}]\sigma ^{'}(z^{_{j}^{l}})a_{k}^{l-1}

    根据\sigma ^{'}(z)=\sigma (z)\sigma (1-\sigma (z))将其带入,化简后可得:

    -\frac{1}{n}\sum _{x} [\frac{y-a_{k}^{l}}{a_{k}^{l}(1-a_{k}^{l})}]\sigma ^{'}(z^{_{j}^{l}})a_{k}^{l-1}=-\frac{1}{n}\sum _{x}a_{k}^{l-1}(y-a_{k}^{l})

    由此其梯度值不受sigmoid函数影响,减少了出现梯度下降缓慢的情况。

    下图为更改损失函数后的几个测试图像。

     

    参考

    http://neuralnetworksanddeeplearning.com/chap3.html

    CSDN:https://www.cnblogs.com/wlzy/p/7751297.html

     

    不是数学系,没那么严谨,可能有地方是错的,但个人理解大概意思是这样。

    展开全文
  • 其实,网络上充斥着VMware虚拟机安装群晖系统的教程,只是其中很多教程只知其然、不知其所以然、似是而非,不同教程间互相矛盾,让初涉者很感疑惑。基于自我隔离期间的大量测试,我对其中的一些问题有了明确的答案...

    “世界在新冠肺炎疫情后将永远改变”,对于2020春天在全球蔓延的新冠肺炎疫情,美国前国务卿基辛格做了这样的评价。确实,也改变了我们。春节期间,本着少添乱的原则,响应国家号召,自我隔离在家。除了天天在沙发上看剧、阳台上喝茶,还能做点什么呢?

    前一阵,家人天天抱怨,无论是各地旅游还是各种聚会,为了能留下念想用手机拍下了不少照片,可是,现在照片呢?手机换了N茬了,我也不知道,在电脑硬盘里或许有,在各个手机云空间(iCloud、华为云空间等)里或许有,在各种专业的云盘(360云、百度云等)里或许有。

    为什么手机照片会到处散落,而没有从一而终呢?是不是我思路不清导致呢?非也!我描述一下我的心路历程,或许大家有同感。刚开始用智能机拍照的时候,手机存储空间不足了或者要换手机了,用各种手机的PC客户端iTunes之类把手机中的照片等文件导入电脑硬盘,等到再次做同一件事情,或许过了很长时间记不得了,或许已经换了不同手机平台,甚至电脑都换了,能导入同一个文件夹不断积累,基本没可能!更有甚者,手机掉出租车了,手机里的文件一切OVER。这个方法不靠谱。后来除了苹果手机有iCloud云服务,华为手机也有华为云空间,那就用云空间吧,什么换手机、丢手机一切都迎刃而解。可是,手机用着用着,报警“云存储空间已满”、催着你“升级云存储空间”,随着小米一亿像素手机的出现,看了下面的图片,你就知道永远没有满足的时候、空间满了这个方法就失效了:

    这个方案也不靠谱。那就免费云盘吧,不是有360云盘、百度云盘吗?刚开始用360云盘,免费空间2TB足够大,还有同步盘可用,可是用着用着,出现了下面的公告:

    各种各样的云盘关闭,目前尚能用的百度云盘,哪怕是付费用户,下载资料也是龟速,没有同步盘。各种不靠谱的尝试,导致目前的照片文件散落在各个角落,有的已经随风而散。何处能为他们安个家?看来只有NAS私人云存储了。

    这个春节,趁着自我隔离在家,对NAS私人云存储做了一番研究。先是在VMware装虚拟机体验了各种各样的NAS系统:FreeNAS,OVM,群晖DSM系统,威联通系统…再是试着把DIY群晖洗白体验各种NAS应用:远程网络服务QuickConnect(没有远程,称不上云)、照片管理Moments、SMB文件服务…最终,选定了群晖DS218+。每天的照片等文件自动上传,分类存储,不会丢失,两个4T硬盘设定了RAID1,互为备份,不至于硬盘损坏而导致资料丢失,安心;在办公室就可以对家里群晖中资料进行管理,舒心。

    从网络查询资料或者在京东商城查询NAS产品,可以发现NAS系统形态多种多样,规格千变万化:有DIY产品,也有群晖等品牌NAS;DIY产品操作系统也有FreeNAS、OVM、黑群晖等等;有单盘位的,也有二盘位、四盘位…让初涉者感觉一头雾水、不知道哪个才是适合你的。我的做法,是先在VMware虚拟机上安装各种NAS操作系统、添加各种RAID磁盘阵列来体验各种形态的NAS系统,试用各种NAS应用,最后确定群晖DS218+适合于我当前的需求。我也建议大家这样做。这样做,还有一个好处是,不至于在实体机上试用的时候由于误操作而导致资料丢失、产生不可挽回的损失,与空军飞行员在上天飞行前也要先上飞行模拟器训练是一个道理。

    其实,网络上充斥着VMware虚拟机安装群晖系统的教程,只是其中很多教程只知其然、不知其所以然、似是而非,不同教程间互相矛盾,让初涉者很感疑惑。基于自我隔离期间的大量测试,我对其中的一些问题有了明确的答案。写此文章,除了教大家怎么去做,还会跟大家讲明白为什么这样做,以及对替代项的选择做详细的剖析,让大家在重重迷雾中走出来,以最快的速度体验群晖NAS系统。

    >> 下一篇:虚拟机体验NAS私人云全揭秘:深度揭秘VMware虚拟机安装群晖DSM6.2系统

    博客原地址https://www.cnblogs.com/hzmanage/p/12759630.html

    展开全文
  • 文件,文件流,文件类型,乱码原由,文件缓冲区 文件文件流文件类型文件分类文本文件二进制文件乱码原由文件缓冲区 文件 Unix 的设计哲学之一,就是 Everything is a file(一切设备皆是文件),可见文件是如此的重要...
  • Linux的其中一个哲学思想就是 一个程序只做一件事,并且做好。 组合小程序来完成复杂任务。这样做有很多好处。但世界上的东西总是两面的,有得必有失。各个小程序之间往往会存在着复杂的依赖关系。2、再往前走一步。...
  • 问题原由:小编在工作上遇到一个问题,在java程序读取流数据之后,通常会以byte[]数组接收数据。在数据传输时,通常会为了减少网络开销而去除实际不用的位,减少用0填充二进制的数据。从而提高性能。但是随之而来的...
  • 其中,EntityBean就是Hibernate,大家看看,嘿嘿,所以技术这个东西所谓的新也是换汤不换药,在2001时就已经有了Hibernate这种概念了,而且Spring经典的声明式事务代理也早就有了,就是你的SessionBean如果抛出一个...
  • 随着互联网用户的增加,导航站的使用率、用户数还会增长,其中有一部分会转变到使用搜索引擎。收购hao123,就是要把这两块最大的互联网人群都揽入自己公司的怀中。  约翰-希利-布朗和保罗-杜奎德在《信息的社会层面...
  • 其中,涂墙料便是令人烦恼的事情之一。 2. 现在的涂墙料的方法是,将刷子蘸上涂料,然后往墙上涂。这样,它会给人带来许多的不便: 首先,涂四周墙壁时,得每涂一次,便蘸一次。涂天花板时,显得更加麻烦。人需要爬...
  • 其中最重要的就是它支持 .NET ,这一点我们已经谈了有一段时间了。我们重新调整了产品的方向,让它更符合我们的客户的业务需要。在这里简要展示一下一些“新的”功能特性。 Silverlight 中将会有控件,你可以像使用 ...
  • 可以用 X X X 和 Y Y Y 的期望对 X Y XY XY 的期望做一个控制 对于 k > 0 k>0 k>0,若 E ∣ X ∣ k ≤ ∞ E|X|^k\leq \infin E∣X∣k≤∞,则 E ∣ X ∣ r ≤ ∞ E|X|^r \leq \infin E∣X∣r≤∞,其中 0 ≤ r ≤ k ...
  • 总所周知,样本效率低下是强化学习的一个重要问题,本文试图从本质上分析造成这一问题的原因,并简单介绍一些改进措施 1. 强化学习的一般范式
  • 这并不是我们写错了,要解释这个问题,我们先来看一个图,就明白其中原由了。 由图可以看出,当我们取出第一条记录时,此时(rownum = 1) >= 3不成立,所以该记录会被排除;然后再取第二条,此时任然rownum = 1,因为...
  • 其中负数包含符号位,正数不会包括符号位。另外,数值0比较特殊,它只包含一个数值最高位表示位80,没有数据部分。 正数的最高位表示位大于80,负数的最高位表示位小于80。其中一个正数的最高位是个位的话,则最高...
  • 毛绒玩具厂家老板瑞昌向燃财经解释了其中原由。1688上的卖家为的是批发走量,采购商是专业的,一毛钱的差价都会决定选择,而且质量不过关的会被果断抛弃。“所以在1688上采购,销量最高的一般是最实惠的了。”他称...
  • (转)ARM协处理学习

    2019-10-03 22:12:58
     第 23~24 行设置中断向量的虚地址,其中高端中断向量地址 0xffff0000 对应到物理  地址0x33f00000  代码中有几个常数,定义如下:  #define MEM_START 0x30000000UL  #define MEM_END 0x34000000UL  #...
  • c++实现8皇后问题

    2018-09-07 21:02:39
    写出自己错误的原因,并且理清楚其中原由对自己以后的成长有莫大帮助。 (ps:如果你也有类似的想了好久的问题,然后最终通过自己的努力解决掉了它,首先恭喜你解决掉它,这其中的喜悦估计只有本人才能理解了,但是...
  • 其实裁员潮已经“闹”了大半年,看上去,过去十年,这些依靠“弯道超车”的大小互联网公司像商量好的一样都在拼命“甩包袱”、减开支,这其中原由难道真的是这些公司养不起这几千人? 你我都知道其实不尽然。 此次...
  • 数据分析:企业人力资源管理探索

    千次阅读 2018-04-06 13:42:24
    人力资源的工作者需要做点事情来干预了,并仔细研究和探索其中原由。 感谢您的阅读。 本次分析不是很完整和充足,如果有足够的时间和精力,我们还可以往更有意义的方向与探索: 1、探索企业最关心的精英人才...
  • 使用Maven搭建Struts2+Spring3+Hibernate4的整合开发环境  做了三年多的JavaEE开发了,在平时的JavaEE开发中,为了能够用最快的速度开发项目,一般都会选择使用Struts2,SpringMVC,Spring,Hibernate,MyBatis这些...
  • 作者简介IntroductionJoffy Zhong:咨询顾问 | 写作爱好者 | 数据分析 | 互联网创业者 R语言中文社区专栏作者知乎ID:...我是乔飞我曾为一些中小企业做过管理咨询,其中部分模块涉及到人力资源,这也是我在工作过程
  • 不知道有没有注意,字符串写的是"binary-safe strings"(二进制安全字符串),不知道你们知不知道,我最初确实是不知道其中原由0 !0,请看下面对String类型的分解。 1、value能够存放的数据类型: value能够存放 ...
  • 营造软件开发团队

    2016-11-30 11:17:00
    前言 本人从事软件行业以来,经历了多次的成功与失败的体验,总觉得中国的软件应该可以做得更好些,但结果并不是我想象中的那样,许多的项目实际都还只是以假的、虚的面孔而存在,其中原由大家都可以说得出很多很多...
  • 其中原由可以通过由美国人Noel Tichy提出的「舒适区」,「学习区」,「恐慌区」理论来解释!下图里的3个区可以表示为你想学习的事物的等级: 最里面一圈,「舒适区」,对于你来说是没有学习难度的知识或者习以为常...
  • mysql索引失效的场景

    2021-01-04 14:34:30
    绝大部分的内容笔者是认可的,不过部分举例中笔者认为用词太绝对了,并没有说明其中原由,很多人不知道为什么。所以笔者绝对再整理一遍MySQL中索引失效的常见场景,并分析其中原由供大家参考。 当然请记住,...
  • Delphi+DirectX游戏编程

    千次阅读 2016-08-20 18:11:39
    http://www.cnblogs.com/keycode/archive/2010/10/17/1853708.html Delphi+DirectX游戏编程 先说说如果用Delphi进行游戏编程要些什么,要注意什么。   1、到网上查找下载 ...查找时最好用DirectDraw.pas,否
  • <转> 纸牌屋1-4集分析

    千次阅读 2016-06-18 12:24:00
    然后是庄严大气而伴阴暗格调的序幕,充分体现政治权谋的宏大与阴险:各种象征政权的建筑和风云变幻的气候,其中的隐喻,也是不言而喻的。 序幕结束,弗兰克与妻子在车上互赞庆功,一旦当了国务卿,背后的大财团...
  • 前面提到我们提到了两个困惑的地方,我们来逐一解释其中原由。 1、 当复选框被勾选之后,用attr("checked")来获取其状态时却返回undefined 这里我们注意的是,用attr()获取的属性,必须是你在DOM节点上可以看见的...
  • 前面提到我们提到了两个困惑的地方,我们来逐一解释其中原由。 1、 当复选框被勾选之后,用attr(“checked”)来获取其状态时却返回undefined 这里我们注意的是,用attr()获取的属性,必须是你在DOM节点上可以...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,645
精华内容 1,458
关键字:

其中原由