小编yok*_*oki的帖子

Tensorflow - 带批量数据的输入矩阵的matmul

我有一些数据表示input_x.它是一个未知大小的张量(应该是批量输入),每个项目的大小n.input_x经历tf.nn.embedding_lookup,让embed现在的尺寸为[?, n, m]这里m是嵌入尺寸并?指未知的批量大小.

这在这里描述:

input_x = tf.placeholder(tf.int32, [None, n], name="input_x") 
embed = tf.nn.embedding_lookup(W, input_x)
Run Code Online (Sandbox Code Playgroud)

我现在试图将输入数据中的每个样本(现在通过嵌入维度扩展)乘以矩阵变量,U我似乎无法得到如何做到这一点.

我首先尝试使用,tf.matmul但由于形状不匹配而导致错误.然后我通过扩展U和应用的维度尝试了以下内容batch_matmul(我也试过了函数tf.nn.math_ops.,结果是一样的):

U = tf.Variable( ... )    
U1 = tf.expand_dims(U,0)
h=tf.batch_matmul(embed, U1)
Run Code Online (Sandbox Code Playgroud)

这会传递初始编译,但是当应用实际数据时,我收到以下错误:

In[0].dim(0) and In[1].dim(0) must be the same: [64,58,128] vs [1,128,128]

我也知道为什么会发生这种情况 - 我复制了U现在的维度1,但是小批量大小64不合适.

如何正确地对张量矩阵输入进行矩阵乘法(对于未知的批量大小)?

python tensorflow

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

Keras Conv2D和输入通道

Keras层文档指定了卷积层的输入和输出大小:https: //keras.io/layers/convolutional/

输入形状: (samples, channels, rows, cols)

输出形状: (samples, filters, new_rows, new_cols)

并且内核大小是空间参数,即仅确定宽度和高度.

因此,带有c通道的输入将产生带有通道的输出,filters而不管其值如何c.因此,必须将2D卷积应用于空间height x width滤波器,然后以某种方式对每个学习的滤波器聚合结果.

这个聚合运算符是什么?它是跨渠道的总结吗?我能控制它吗?我找不到关于Keras文档的任何信息.

谢谢.

python keras

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

Tensorflow RNN权重矩阵初始化

我正在使用bidirectional_rnn,GRUCell但这是关于Tensorflow中RNN的一般性问题.

我找不到如何初始化权重矩阵(输入到隐藏,隐藏到隐藏).它们是随机初始化的吗?归零?他们为我创建的每个LSTM进行了不同的初始化吗?

编辑:这个问题的另一个动机是预训一些LSTM并在后续模型中使用它们的权重.我目前不知道如何在不保存所有状态和恢复整个模型的情况下做到这一点.

谢谢.

tensorflow recurrent-neural-network

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

Tensorflow minibatch培训

如何使用小型数据在TensorFlow中训练网络?在Deep-MNIST教程中,他们使用:

for i in range(1000):
   batch = mnist.train.next_batch(50)
   train_step.run(feed_dict={x: batch[0], y_: batch[1]})
Run Code Online (Sandbox Code Playgroud)

我的问题是 - 是xy_尺寸适合单个例子的变量batch[0],batch[1]是这些输入和输出的列表吗?在这种情况下,TensorFlow会自动为这些列表中的每个训练示例添加渐变吗?或者我应该创建我的模型,这样xy_得到整个minibatch?

我的问题是,当我尝试为每个占位符提供一个列表时,它会尝试输入占位符的整个列表,因此我得到一个大小不匹配:Cannot feed value of shape (n, m) for Tensor u'ts:0', which has shape '(m,)',哪里n是小批量大小,m是个别输入大小.

谢谢.

tensorflow

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

Matlab - 计算大稀疏(A'*A)矩阵的最大特征值

我有一个大的(400K*400K)稀疏矩阵,我需要计算A'*A的最大特征值.

问题是由于内存问题,Matlab甚至无法计算A'.
我也试过[a,b,c] = find(A),然后通过创建一个转置稀疏矩阵进行转置,但虽然find()有效,但是创建的sprase却没有.

有一个很好的解决方案吗?它可以是matlab函数或另一种技术来计算这种乘法的最大特征值.

谢谢.

matlab sparse-matrix

5
推荐指数
1
解决办法
1559
查看次数

使用TensorFlow``grad_loss/grad_ys``参数添加渐变

我正在尝试使用grad_loss参数optimizer.minimize(loss, grad_loss=)来修改现有渐变的网络渐变.我按照这里的评论: 在tf.gradients中使用grads_ys参数 - TensorFlow

我想运行一个玩具示例,我在其中重新创建默认1grad_ys,如文档中所指定.

这是相关的代码段:

grads_and_vars = optimizer.compute_gradients(loss_op) 
vars_with_grad = [v for g, v in grads_and_vars if g is not None] 
grad_loss = [] 
for grad,var in grads_and_vars:
    grad_loss.append(tf.ones_like(grad))
train_op = optimizer.minimize(loss_op, grad_loss=grad_loss)
Run Code Online (Sandbox Code Playgroud)

第一部分使用提取渐变compute_gradients.最后一行计算损失函数的梯度,loss_op但尝试使用1填充向量作为梯度.据我所知,这应该与minimize没有grad_loss参数的funning相似.

不幸的是,这失败了,因为它期望grad_loss是Tensor(并且有一个dtype)而不是列表.调查gradients_impl.py我看到函数预期grad_lossloss(在这种情况下是标量)相同的维度.

我很感激这个简单示例中的任何帮助 - 如何以这种方式向渐变添加元素?

编辑:我想这个问题归结为以下定义grad_loss:"A Tensor持有计算的渐变loss." 如何从一组渐变中生成这样的张量compute_gradients

谢谢.

python tensorflow

5
推荐指数
1
解决办法
462
查看次数

如何在 Python cv2 上使用 opencv 'superres' 包?

一个足够简单的问题 - 我似乎无法找到如何在 Python 上导入或使用superresfrom cv2,即使它被记录在案:http : //docs.opencv.org/2.4/modules/superres/doc/super_resolution.html

谢谢。

python opencv

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

python twisted - 在没有得到回复的已发送消息上超时

我正在创建一种客户端 - 服务器实现,我想确保每个发送的消息都得到响应.所以我想创建一个超时机制,它不检查消息本身是否已传递,而是检查传递的消息是否得到响应.

IE,对于两台计算机1和2:

1: send successfully: "hello"
2: <<nothing>>
...
1: Didn't get a response for my "hello" --> timeout
Run Code Online (Sandbox Code Playgroud)

我想通过为每条消息创建一个带有id的大布尔数组来做这件事,该数组将保持"进行中"标志,并在收到消息的响应时设置.

我想知道也许有更好的方法.

谢谢,Ido.

python client timeout twisted

3
推荐指数
1
解决办法
1980
查看次数

Vim:每次在同一个外部程序中运行代码

我知道我可以使用外部程序在vim中运行我的代码,但我希望每次都保持该程序并接收我的代码 - 而不是每次都重新运行外部程序.

例如:我在vim中编辑我的Matlab文件,我想运行它.但是,我希望matlab实例在后台,并且vim将使用相同的实例来保持运行我的文件,而不是每次都打开一个新的matlab.

那可能吗?谢谢.

vim matlab

2
推荐指数
1
解决办法
462
查看次数

将行号从vim传递到外部命令

我正在使用VIM,我想将当前行传递给外部程序.

这样的事情: map <F3> :!mycmd <linenumber><CR>

我试图取代<linenumber>line('.'),line("."),.等人,但似乎没有任何工作.谢谢.

vim

2
推荐指数
1
解决办法
411
查看次数

gVim在"",$$,()等序列之后添加额外的<++>.

我正在使用vim,由于某种原因,它在我编写序列"",$$,(),[],{}等之后添加了短语"<++>".我不明白为什么这是案件或我如何解决它.

感谢任何帮助.

vim

2
推荐指数
1
解决办法
52
查看次数

使用另一个图像作为虚拟相机

如何在Genymotion虚拟设备上使用其他图像(而不是Genymotion徽标)?我想在各种类型的图像上测试我的应用程序.

android genymotion

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