我的印象是TF仅支持CUDA。根据我的研究,使其获得支持OpenCL和AMD GPU的唯一方法是获得一个单独的“适配器”模块,例如TF Coriander,并遭受性能故障的困扰:
从GitHub:
对于循环网络,Coriander比直接使用NVIDIA®CUDA™慢约4倍。
检查“洞察”选项卡,该模块的确似乎处于不断发展的状态,但是我不确定该如何乐观。因此,我是否应该对此感到乐观,并期望在不到几年的时间里获得接近本地的经验?如果不是,是否计划为实际的本机解决方案提供支持?如果不是,AMD即将面世的7nm架构是否会改变开发者的想法?
我意识到这可能有点题外话。如果是,请告诉我是否可以放其他地方。
使用 list: [-1, 0, 43, 128, 32],有几种方法可以删除最后一个元素。
list.pop()list = list[:-1] (不建议?)del list[-1]它们都会返回[-1, 0, 43, 128],但是计算强度最低的是什么,它有什么不同吗?我知道timeit我可以用来为自己测试的模块。但我对不受控制的变量持谨慎态度,我的非专业知识肯定会稀释结果。同样,对于字符串、浮点数或布尔值,最佳选择是否有所不同?多维列表呢?
我不太确定如何控制和测试这些变量,所以我想我会在这里询问是否有一般的层次结构。
该问题解释了删除方法之间的差异,但不涉及切片。它也根本没有解决速度问题。接受的答案含糊地提到了效率,我可以将其视为解决方案的一部分,但我看不出它如何适合切片。
我尝试了几种方法,但似乎没有一种对我有用。
board = [[0,0,0,0],[0,0,0,0]]
if not 0 in board:
# the board is "full"
Run Code Online (Sandbox Code Playgroud)
然后我尝试:
if not 0 in board[0] or not 0 in board[1]:
# the board is "full"
Run Code Online (Sandbox Code Playgroud)
这些方法都没有奏效,尽管第二种方法通常会让数组填满更多。(我编写了代码来随机填充数组)。
这是我的代码:
function getTraits(trait) {
$("#"+trait).on("click", function() {
alert($(this).css('backgroundColor'));
if (toHex($(this).css('background-color')) != highlightedColor) {
$("#"+trait).css("background-color", highlightedColor);
// If the element isn't highlighted, highlight it.
} else {
$(this).css("backgroundColor", defaultColor);
}
})
}
Run Code Online (Sandbox Code Playgroud)
我试图在用户的点击上切换div上的突出显示.我想获得div的背景颜色,因为为每个div存储一个布尔切换是低效的.所以我想要一个toHex(rgb)功能.我在SO上看到了很多,所以我尝试使用它们,但没有一个能够工作.该alert()放给我看的格式:jQuery是回来时,我给了我rgba(0,0,0,0).我试图修改我发现的正则表达式:
var rgb = rgb.match(/^rgba((\d+),\s*(\d+),\s*(\d+))$/);
这无法使用TypeError : rgb is null.
感谢你给与我的帮助!
我开始一箱的优化性能,和我换了Vec一个VecDeque。容器按排序顺序维护元素(它应该相当小,所以我还没有尝试尝试堆)并且偶尔会从中间拆分成两个单独的容器(我还没有尝试过堆的另一个原因)drain.
我希望第二个操作要快得多:我可以复制集合的前半部分,然后简单地旋转并减少原始(现在是第二个)集合的长度。然而,当我跑我#[bench]的测试中,执行上述操作的次数可变数目,(低于百万NS / iters)我观察到的性能下降与VecDeque:
| 测试一个 | 测试 b | 测试 c | 测试d | |
|---|---|---|---|---|
| 维克 | 12.6 | 5.9 | 5.9 | 3.8 |
| 维克德克 | 13.6 | 8.9 | 7.3 | 5.8 |
一个可重现的例子(要点):
#![feature(test)]
extern crate test;
use std::collections::VecDeque;
fn insert_in_sorted_order_vec<E: Ord + Eq>(t: &mut Vec<E>, k: E) {
match t.binary_search(&k) {
Ok(i) => t[i] = k,
Err(i) => t.insert(i, k),
}
}
fn insert_in_sorted_order_vecdeque<E: Ord + Eq>(t: &mut VecDeque<E>, k: E) {
match t.binary_search(&k) {
Ok(i) => …Run Code Online (Sandbox Code Playgroud) html ×2
javascript ×2
list ×2
python ×2
python-3.x ×2
android ×1
arrays ×1
css ×1
jquery ×1
opencl ×1
optimization ×1
rust ×1
tensorflow ×1