在这篇博文中,回顾性神经网络的不合理有效性,Andrej Karpathy提到了基于神经网络的机器学习的未来发展方向:
关注的概念是神经网络中最有趣的近期架构创新.[...]用于内存寻址的软注意方案很方便,因为它使模型保持完全可微分,但不幸的是,牺牲了效率,因为可以注意到的所有事情(但是轻柔地).可以认为这是在C中声明一个指针,它不指向特定的地址,而是在整个内存中的所有地址上定义一个完整的分布,并且取消引用指针返回指向内容的加权和(这将是一个昂贵的操作!).这促使多位作者交换软注意力模型以获得难以注意的情况,其中一个人对特定的一块存储器进行采样(例如,某些存储器单元的读/写动作,而不是在某种程度上从所有单元读取/写入).这种模式在哲学上更具吸引力,可扩展性和高效性,但不幸的是它也是不可微分的.
我认为我理解了指针的隐喻,但究竟是什么才是注意力,为什么难以辨别?
我在这里找到了关于注意力的解释,但仍然对软/硬部分感到困惑.
我是strace
使用perl和bash的简单脚本.
$ strace perl -e 'echo "test";' 2>&1 | grep 'random'
open("/dev/urandom", O_RDONLY) = 3
$ strace bash 'echo "test"' 2>&1 | grep 'random'
$
Run Code Online (Sandbox Code Playgroud)
为什么perl需要伪随机数生成器来处理这样一个简单的脚本?我希望/dev/urandom
在第一次使用随机数据后才能打开.
编辑:我还测试了python和ruby
$ strace python -c 'print "test"' 2>&1 | grep random
$
$ strace ruby -e 'print "test\n"' 2>&1 | grep random
open("/dev/urandom", O_RDONLY|O_NOCTTY|O_NONBLOCK|O_CLOEXEC) = 3
Run Code Online (Sandbox Code Playgroud)
为什么perl和ruby用不同的模式打开它?
我通常会添加更改git add -p
,并且很多时候会有大量的代码块,由空行分隔.
但是,git不再split
是大块头,我不得不求助于手动编辑.
如何增加帅哥的粒度,使每个代码块都在一个单独的大块中?
编辑:这是一个与Git不同的问题:使用git add -i或git add -e时显示更多上下文?因为我不打算增加每个大块头的上下文,而是增加帅哥的数量.
在我的Ruby on Rails应用程序中,我使用shoryouken进行后台处理.我的应用程序中有很多sqs队列(6-7).其中一个队列有2000-3000个作业,工作人员需要大约3个小时来处理这些2-3k个作业,默认并发数为25.因此,根据哪些因素,我们可以决定增加并发性(即处理作业的线程).如果问题中有任何不清楚的地方,请发表评论.
concurrency multithreading ruby-on-rails background-process shoryuken
我有一个包含项目的git repo.我现在要对该项目进行大规模的改革.
如何为此次大修创建一个新分支?然后完成.如何将此分支切换为主分支?
我是Haskell和Stack的新手.在创建一个新项目时stack new
,应该使用哪个文件签入git(或任何其他VCS)?整个目录?
我是haskell的初学者,并试图实现自然数字的Church编码,如本指南中所述.我从这个答案中使用了y组合器的定义,但不确定如何应用它.
我想实现在演算一个简单的功能,computues的[1..1]作为证明的总和这里.
{-# LANGUAGE RankNTypes #-}
import Unsafe.Coerce
y :: (a -> a) -> a
y = \f -> (\x -> f (unsafeCoerce x x)) (\x -> f (unsafeCoerce x x))
true = (\x y -> x)
false = (\x y -> y)
newtype Chur = Chr (forall a. (a -> a) -> (a -> a))
zer :: Chur
zer = Chr (\x y -> y)
suc :: Chur -> Chur
suc (Chr cn) …
Run Code Online (Sandbox Code Playgroud) 为什么默认sum
的GHC是〜比它慢10倍foldl'
(在严格的等价的foldl
等价物)?如果是这样的话,为什么不使用它foldl'
?
import Data.List
> foldl' (+) 0 [1..10^7]
50000005000000
(0.39 secs, 963,528,816 bytes)
> sum [1..10^7]
50000005000000
(4.13 secs, 1,695,569,176 bytes)
Run Code Online (Sandbox Code Playgroud)
为了完整这里也的统计foldl
和foldr
.
> foldl (+) 0 [1..10^7]
50000005000000
(4.02 secs, 1,695,828,752 bytes)
> foldr (+) 0 [1..10^7]
50000005000000
(3.78 secs, 1,698,386,648 bytes)
Run Code Online (Sandbox Code Playgroud)
因为它们的运行时类似,所以看起来sum
是使用foldl
它们 在ghc 7.10.2上测试.
假设我有两个 github 帐户xyz
(Mail Id - xyz@xyz.com
)和abc
(abc@abc.com
)。xyz
我用于完成所有与工作相关的提交的帐户。xyz@xyz.com
是我工作的组织的邮件帐户。我将abc
帐户用于所有其他个人工作。
我发现维护这两个帐户有点烦人。有没有办法可以合并两个帐户并拥有一个 github 帐户abc
。我在我组织的私人仓库中所做的所有提交,与此相关的通信都应该xyz
发送到我的电子邮件 ID。但是我在 github 中所做的所有公共工作都应该通过我的abc
电子邮件 ID 进行通信。
Github 还建议只维护此链接中提到的帐户。
你能告诉我是否可以这样做吗?
我正在使用pry
ruby的REPL 及其 rails 插件( gem pry-rails
)。目前pry
所有项目都有全球历史记录。是否可以将其配置为每个 rails 项目都有自己的历史文件?