小编ltt*_*ltt的帖子

在张量流操作中使用具有动态形状的张量的形状

有没有办法在操作中使用具有动态形状的张量的形状tensorflow而无需在会话中对其进行评估?例如,请考虑以下事项:

activation = tf.nn.relu(conv_plus_b, name=scope.name) #has shape [None, None, 700,1]
conv_len =activation.shape[1]
pool = tf.nn.max_pool(activation, ksize=[1,conv_len,1,1], strides=[1,1,1,1], padding='VALID')
Run Code Online (Sandbox Code Playgroud)

运行此代码会引发错误:TypeError: Expected int for argument 'ksize' not Dimension(None)

所以我的问题是:有没有办法使用这种动态形状来定义tensorflow操作的形状参数,而无需在会话中对其进行评估?

我在 以下网站上发现了类似的问题:https : //groups.google.com/a/tensorflow.org/forum/#!topic/ discuss/BlguDbTxCAk 提出了以下解决方案,用于在tensorflow使用动态形状时执行调整大小操作:

n = tf.shape(foo)[0]
tf.reshape(foo, tf.pack([n, 1]))
Run Code Online (Sandbox Code Playgroud)

tf.pack 已被弃用。我不确定 tf.stack 是否可以在 tf.reshape 操作中工作,但在 tf.nn.max_pool 中使用它会引发错误TypeError: Expected list for attr ksize

我知道形状函数有不同的变化。我已经尝试了 activation.get_shape()[1](我听说它适用于静态形状)、activation.shape[1] 和 tf.shape(activation)[1]。他们都抛出错误。

非常感谢您对此进行调查。

tensorflow

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

Dask数据帧 - 根据分隔符将列拆分为多行

使用dask数据框将列拆分成多行的有效方法是什么?例如,假设我有一个csv文件,我使用dask读取它来生成以下dask数据帧:

id var1 var2
1  A    Z,Y
2  B    X
3  C    W,U,V
Run Code Online (Sandbox Code Playgroud)

我想将其转换为:

id var1 var2
1  A    Z
1  A    Y
2  B    X
3  C    W
3  C    U
3  C    V
Run Code Online (Sandbox Code Playgroud)

我已经查看了Split(爆炸)pandas数据帧字符串条目的答案,以分隔行pandas:如何将列中的文本拆分成多行?.

我尝试应用/sf/answers/1198188351/中给出的答案, 但是dask似乎不接受str.split中的expand关键字.

我也尝试应用/sf/answers/2831480851/中建议的向量化方法,但后来发现np.repeat没有在带有整数数组的dask中实现(https://github.com/dask/ dask/issues/2946).

我在熊猫中尝试了一些其他的方法,但它们真的很慢 - 可能用dask更快但我想首先检查一下是否有人用任何特定的方法取得了成功.我正在使用超过1000万行和10列(字符串数据)的数据集.分成行后,它可能会变成大约5000万行.

感谢您对此进行调查!我很感激.

python performance pandas dask

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

标签 统计

dask ×1

pandas ×1

performance ×1

python ×1

tensorflow ×1