小编kwo*_*sin的帖子

TensorFlow:有没有办法将无类型的列表转换为Tensor?

对于我的应用程序,我试图将列表转换[None, 1, 1, 64]为张量使用tf.convert_to_tensor([None, 1, 1, 64]),但这给了我错误:

TypeError: Failed to convert object of type <type 'list'> to Tensor. Contents: [None, 1, 1, 64]. Consider casting elements to a supported type.

理想情况下,我想None成为第一个维度,因为它代表了batch_size.目前,我唯一可以避免此错误的方法是明确地将batch_size提供给操作,但我希望有一种更简洁的方法将这样的列表转换为张量.

tensorflow

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

为什么 imagenet 数据集标签存在差异?

用于训练的标签和用于验证的标签是否相同?我认为它们应该是相同的;然而,网上提供的标签似乎存在差异。当我从官方网站下载其验证数据的 imagenet 2012 标签时,我得到的标签以kit_fox第一个标签开头,它与我从官方网站下载的 2012 年数据集验证图像完全匹配。这是标签的示例:https://gist.github.com/aaronpolhamus/964a4411c0906315deb9f4a3723aac57

然而,对于几乎所有预训练模型,包括那些由 Google 训练的模型,它们用于训练的 imagenet 标签实际上都是从 开始的tench, tinca tinca。请参阅此处:https ://gist.github.com/yrevar/942d3a0ac09ec9e5eb3a

为什么会出现如此巨大的差异呢?“tincatinca”这种标签从何而来?

如果我们使用与实际验证图像相对应的第一个标签映射,我们将面临另一个问题:2 个类(“Crane”和“maillot”)实际上是重复的,即它们具有相同的名称,但指的是不同类型的起重机 -机械起重机和动物起重机 - 导致 2 个类中产生 100 个图像,而不是假设的 50 个。如果我们不使用第一个映射,那么与第二个标签映射相对应的验证图像的可靠来源在哪里?

classification machine-learning computer-vision deep-learning imagenet

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

TensorFlow:是否有计算和更新前k精度的指标?

电流tf.contrib.metrics.streaming_accuracy只能计算前1个精度,而不是前k个.作为一种解决方法,这就是我一直在使用的:

tf.reduce_mean(tf.cast(tf.nn.in_top_k(predictions=predictions, targets=labels, k=5), tf.float32))
Run Code Online (Sandbox Code Playgroud)

但是,这并没有给我一种方法来计算每批次平均的流精度,这对于获得稳定的评估准确性非常有用.我目前通过使用其numpy输出手动计算此流式前5精度,但这意味着我将无法在张量板上显示此度量标准.

有没有办法通过创建一个precision_update函数来实现更简单的实现,或者是否有现有的函数已经执行此操作?

谢谢.

metrics machine-learning deep-learning tensorflow

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

Numpy:使用一个矩阵作为另一个矩阵的索引来创建张量?

下面的代码将如何工作?

k = np.array([[ 0.,          0.07142857,  0.14285714],
              [ 0.21428571,  0.28571429,  0.35714286],
              [ 0.42857143,  0.5,         0.57142857],
              [ 0.64285714,  0.71428571,  0.78571429],
              [ 0.85714286,  0.92857143,  1.        ]])
y = np.array([[0, 3, 1, 2],
              [2, 1, 0, 3]])
b = k[y]
Run Code Online (Sandbox Code Playgroud)

形状是:

k 形状: (5, 3)

Y 形状:(2, 4)

b 形状:(2,4,3)

为什么 numpy 矩阵接受另一个矩阵作为其索引以及 k 如何找到正确的输出?为什么会产生一个张量呢?

b 的输出为

  [[[ 0.          0.07142857  0.14285714]
  [ 0.64285714  0.71428571  0.78571429]
  [ 0.21428571  0.28571429  0.35714286]
  [ 0.42857143  0.5         0.57142857]]

 [[ 0.42857143  0.5         0.57142857]
  [ 0.21428571  0.28571429  0.35714286]
  [ 0. …
Run Code Online (Sandbox Code Playgroud)

python numpy matrix

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

Tensorflow:对 TFRecord 文件的预处理是否比实时数据预处理更快?

在 Tensorflow 中,似乎可以在训练期间、从原始图像(或数据)创建批次时或图像已经静态时进行预处理。鉴于理论上,预处理应该花费大致相等的时间(如果它们使用相同的硬件完成),在训练之前进行数据预处理(甚至数据增强)是否比在实时训练期间有任何实际缺点?

作为一个附带问题,如果在训练期间不进行数据增强,甚至可以在 Tensorflow 中进行吗?

python machine-learning computer-vision deep-learning tensorflow

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

递归存储返回值?

我在理解递归时遇到了一些困难,因为在某些情况下,我认为这确实很有意义,但在另一些情况下,我很难理解。我知道递归可以帮助将问题分解为更容易解决的子问题,然后可以将这些子问题的解决方案组合起来,以获取我们要解决的主要问题的主要解决方案。例如,我们有找到n的斐波那契和的代码。当然,这不是最快的实现,因为它会导致许多重新计算。

def fib(n):
    """Assumes n is an int >= 0
    Returns Fibonacci of n"""
    if n == 0 or n == 1:
        return 1
    else:
        return fib(n-1) + fib(n-2)
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我了解发生了什么情况,因为在解决基本情况之后,返回的值被存储并在后续的else语句中重复使用,也就是说,对于fib(2),fib(1)+ fib(0)将返回2 ),然后将fib(2)的结果用于计算fib(3),其中fib(3)= fib(2)+ fib(1),我们已经有了答案。这对我来说很清楚,因为最后一个基本案例(即递归调用高于基本案例)之后返回的结果被重用,最终目的是获得答案。

但是,在某些情况下,我发现递归并不是那么简单,这让我感到非常困惑。例如,我们有以下代码:

def maxVal(toConsider, avail):
    """Assumes toConsider a list of items, avail a weight
    Returns a tuple of the total weight of a solution to the
    0/1 knapsack problem and the items of that solution"""

    if toConsider == [] or avail == 0: …
Run Code Online (Sandbox Code Playgroud)

python algorithm recursion

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

Tensorflow:尽管数据中没有字符串,但使用 tflearn 时不支持将字符串转换为浮点数错误

我似乎无法在我的代码中找到错误,其中有任何字符串被错误地转换为浮点数。但它却给了我这个错误:

W tensorflow/core/framework/op_kernel.cc:958] Unimplemented: Cast string to float is not supported
E tensorflow/core/common_runtime/executor.cc:334] Executor failed to create kernel. Unimplemented: Cast string to float is not supported
     [[Node: Adam/apply_grad_op_0/update_FullyConnected_1/b/Cast_2 = Cast[DstT=DT_FLOAT, SrcT=DT_STRING, _class=["loc:@FullyConnected_1/b"], _device="/job:localhost/replica:0/task:0/cpu:0"](Adam/apply_grad_op_0/learning_rate)]]
W tensorflow/core/framework/op_kernel.cc:958] Unimplemented: Cast string to float is not supported
E tensorflow/core/common_runtime/executor.cc:334] Executor failed to create kernel. Unimplemented: Cast string to float is not supported
     [[Node: Adam/apply_grad_op_0/update_Conv2D/W/Cast_2 = Cast[DstT=DT_FLOAT, SrcT=DT_STRING, _class=["loc:@Conv2D/W"], _device="/job:localhost/replica:0/task:0/cpu:0"](Adam/apply_grad_op_0/learning_rate)]]
--
Traceback (most recent call last):
  File "code.py", line 63, in <module>
    snapshot_step = 100, …
Run Code Online (Sandbox Code Playgroud)

python tensorflow tflearn

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

Python:isalnum() 与 isalpha 和 isdigit 相同吗?

有没有办法具体验证这一点?我试图解决一个编码问题,但似乎其中一个测试用例(未向我透露)认为这是错误的。在哪些情况下这不成立?

python string

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