小编don*_*loo的帖子

何时在Caffe中使用就地层?

通过将底部和顶部blob设置为相同,我们可以告诉Caffe进行"就地"计算以保持内存消耗.

目前,我知道我可以就地安全地使用"BatchNorm","Scale"并且"ReLU"层(请让我知道,如果我错了).虽然它似乎对其他层有一些问题(这个问题似乎是一个例子).

何时在Caffe中使用就地层?
它如何与反向传播一起工作?

machine-learning backpropagation neural-network deep-learning caffe

23
推荐指数
1
解决办法
2424
查看次数

Caffe中带有重量的自动编码器

根据我的理解,通常自动编码器在编码和解码网络中使用绑定权重吗?

我看了一下Caffe的自动编码器示例,但我没看到权重是如何绑定的.我注意到编码和解码网络共享相同的blob,但是如何保证权重正确更新?

如何在Caffe中实现捆绑重量自动编码器?

machine-learning neural-network autoencoder caffe

13
推荐指数
1
解决办法
543
查看次数

Tensorflow在张量中的前n个值

有谁知道如何提取排名2张量的每行的前n个最大值?

例如,如果我希望形状[2,4]的张量的前2个值具有值:

[[40,30,20,10],[10,20,30,40]]

所需的条件矩阵如下所示:[[True,True,False,False],[False,False,True,True]]

一旦我有了条件矩阵,我就可以使用tf.select来选择实际值.

谢谢你的帮助!

vectorization tensorflow

7
推荐指数
1
解决办法
7546
查看次数

在tensorflow中,如何将索引列表转换为指标向量?

我的输入是索引列表,如

[1,3], [0,1,2]
Run Code Online (Sandbox Code Playgroud)

如何将它们转换为固定长度指示矢量?

[0, 1, 0, 1], [1, 1, 1, 0]
Run Code Online (Sandbox Code Playgroud)

python tensorflow

6
推荐指数
1
解决办法
72
查看次数

在Theano中循环(或矢量化)可变长度矩阵

我有一个矩阵列表L,其中每个项目M都是一个x*n矩阵(x是一个变量,n是一个常量).

我想计算以下Python代码所做的M'*M所有项目的总和L(M'是转置M):

for M in L:
  res += np.dot(M.T, M)
Run Code Online (Sandbox Code Playgroud)

实际上我想在Theano中实现它(它不支持可变长度的多维数组),我不想将所有矩阵填充到相同的大小,因为这会浪费太多空间(一些矩阵可能非常大) ).

有一个更好的方法吗?

编辑:

L 在Theano汇编之前就已经知道了.

编辑:

收到了来自@DanielRenshaw和@Divakar的两个优秀答案,情绪上难以选择接受.

algorithm optimization matrix vectorization theano

5
推荐指数
2
解决办法
443
查看次数

从检查点还原时,如何更改参数的数据类型?

我有一个预先训练的Tensorflow检查点,其中所有参数都是float32数据类型。

如何将检查点参数加载为float16?还是有办法修改检查点的数据类型?

以下是我的代码片段,试图将float32检查点加载到float16图中,但出现类型不匹配错误。

import tensorflow as tf

A = tf.get_variable(name='foo', shape=[3, 3], dtype=tf.float32)
dense = tf.layers.dense(inputs=A, units=3)
varis = tf.trainable_variables(scope=None)
print(varis[1])  # <tf.Variable 'dense/kernel:0' shape=(3, 3) dtype=float32_ref>
assign = dict([(vari.name, vari) for vari in varis])
saver = tf.train.Saver(assign)

with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    print(sess.run(dense))
    save_path = saver.save(sess, "tmp.ckpt")

tf.reset_default_graph()
A = tf.get_variable(name='foo', shape=[3, 3], dtype=tf.float16)
dense = tf.layers.dense(inputs=A, units=3)
varis = tf.trainable_variables(scope=None)
print(varis[1])  # <tf.Variable 'dense/kernel:0' shape=(3, 3) dtype=float16_ref>
assign = dict([(vari.name, vari) for vari in varis])
saver = tf.train.Saver(assign) …
Run Code Online (Sandbox Code Playgroud)

python machine-learning tensorflow

4
推荐指数
1
解决办法
236
查看次数

如何将cuDNN更新到更新版本?

cuDNN安装手册说

所有平台

将cuDNN存档解压缩到您选择的目录,如下所示.然后按照以下特定于平台的说明进行操作.

LINUX

cd export LD_LIBRARY_PATH =`pwd`:$ LD_LIBRARY_PATH

通过将-I添加到编译行并将-L -lcudnn添加到链接行,添加到构建和链接过程.

看来,它只是增加了pwdLD_LIBRARY_PATH,所以我想只是更换文件pwd会做更新.

但似乎并不那么简单,因为在我做完这件事之后,我得到了Theano的投诉

cuDNN版本太旧了.更新到v5,是3007.

linux ubuntu nvidia caffe cudnn

2
推荐指数
3
解决办法
2万
查看次数