小编rd1*_*d11的帖子

在TensorFlow中,tf.identity用于什么?

我已经看过tf.identity在一些地方使用过,比如官方的CIFAR-10教程和stackoverflow上的批量规范化实现,但我不明白为什么它是必要的.

它用于什么?任何人都可以提供一两个用例吗?

一个建议的答案是它可以用于CPU和GPU之间的传输.这对我来说并不清楚.基于问题的扩展:loss = tower_loss(scope)在GPU块下,这表明我定义的所有运算符tower_loss都映射到GPU.然后,在结束时tower_loss,我们看到total_loss = tf.identity(total_loss)它返回之前.为什么?没有tf.identity在这里使用会有什么缺陷?

python tensorflow

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

numpy.take和numpy.choose有什么区别?

它似乎numpy.take(array, indices)numpy.choose(indices, array)返回相同的东西:array索引的子集indices.

两者之间是否只有微妙的差异,或者我错过了一些更重要的东西?是否有理由偏爱另一个?

python arrays numpy

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

使用 setuptools,如何在安装时下载外部数据?

我想创建一些非常易于使用的 pip 包,用于在 Python 中加载常见的机器学习数据集。(是的,有些东西已经存在,但我希望它更简单。)

我想实现的是:

  • 用户运行 pip install dataset
  • pip 下载数据集,比如通过wget http://mydata.com/data.tar.gz. 请注意,数据并不驻留在 python 包本身中,而是从其他地方下载的。
  • pip 从此文件中提取数据并将其放在安装包的目录中。(这并不理想,但数据集非常小,因此假设在此处存储数据不是什么大问题。)
  • 稍后,当用户导入我的模块时,模块会自动从特定位置加载数据。

这个问题是关于子弹 2 和 3。有没有办法用 setuptools 做到这一点?

python pip setuptools

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

PyCharm 中的 PyTorch 特定检查问题

有没有人能够解决 PyCharm 中 PyTorch 特定的检查问题?之前针对非 PyTorch 相关问题的帖子建议升级 PyCharm,但我目前使用的是最新版本。一种选择当然是完全禁用某些检查,但我宁愿避免这种情况。

示例:torch.LongTensor(x)给我“意外的参数...”,而两种调用签名(带和不带x)都受支持。

pycharm pytorch

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

使用matplotlib将灰度图像转换为RGB热图图像

如何将M x N灰度图像(或者换句话说矩阵或2-D阵列)转换为RGB热图,或者换句话说是M x N x 3阵列?

例:

 [[0.9, 0.3], [0.2, 0.1]] 
Run Code Online (Sandbox Code Playgroud)

应该成为

[[red, green-blue], [green-blue, blue]] 
Run Code Online (Sandbox Code Playgroud)

红色是[1, 0, 0],蓝色是[0, 0, 1]等等.

python matplotlib

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

TensorFlow中的缓存计算

是否有规范的方法来重用TensorFlow中先前提供的占位符的计算?我的具体用例:

  • 同时提供许多输入(使用一个占位符),所有这些输入都通过网络馈送以获得更小的表示
  • 基于这些较小表示的各种组合来定义损失
  • 一次训练一批,每批次使用输入的一些子集,而不重新计算较小的表示

这是代码中的目标,但由于一次又一次地执行相同的计算,因此存在缺陷:

X_in = some_fixed_data
combinations_in = large_set_of_combination_indices
for combination_batch_in in batches(combinations_in, batch_size=128):
    session.run(train_op, feed_dict={X: X_in, combinations: combination_batch_in})
Run Code Online (Sandbox Code Playgroud)

谢谢.

tensorflow

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

这是TensorFlow中的单热编码吗?或出于任何原因有缺陷?

关于使用TensorFlow计算单热嵌入有一些堆栈溢出问题,这是可接受的解决方案:

num_labels = 10
sparse_labels = tf.reshape(label_batch, [-1, 1])
derived_size = tf.shape(label_batch)[0]
indices = tf.reshape(tf.range(0, derived_size, 1), [-1, 1])
concated = tf.concat(1, [indices, sparse_labels])
outshape = tf.reshape(tf.concat(0, [derived_size, [num_labels]]), [-1])
labels = tf.sparse_to_dense(concated, outshape, 1.0, 0.0)
Run Code Online (Sandbox Code Playgroud)

这几乎与官方教程中的代码相同:https://www.tensorflow.org/versions/0.6.0/tutorials/mnist/tf/index.html

对我而言,似乎既然tf.nn.embedding_lookup存在,它可能更有效率.这是一个使用它的版本,它支持任意形状的输入:

def one_hot(inputs, num_classes):
    with tf.device('/cpu:0'):
        table = tf.constant(np.identity(num_classes, dtype=np.float32))
        embeddings = tf.nn.embedding_lookup(table, inputs)
    return embeddings
Run Code Online (Sandbox Code Playgroud)

您是否希望此实施更快?它是否有任何其他原因的缺陷?

tensorflow

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

更改TensorFlow会话的默认配置?

是否可以在Python中或通过设置环境变量等来更改默认的会话配置?

具体来说,我想

with tf.Session() as sess:
    ...
Run Code Online (Sandbox Code Playgroud)

当我与其他工作并行运行小型测试时,耗尽更少的内存.所以我上面的行为与...相同

gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.1)
config = tf.ConfigProto(gpu_options=gpu_options)
with tf.Session(config=config) as sess:
    ...
Run Code Online (Sandbox Code Playgroud)

python tensorflow

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

如何在Jupyter笔记本中配置缩进大小?

我希望在我的Jupyter笔记本中有一个默认缩进大小为2个空格而不是4个空格.我怎样才能做到这一点?

注意:这不是重复如何在IPython笔记本中将autoindent更改为2个空格,因为该问题适用于(已弃用)IPython笔记本而非(当前)Jupyter笔记本.

jupyter jupyter-notebook

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