小编Imr*_*ran的帖子

Python 3.4中的"异步"

aiohttp的入门文档提供了以下客户端示例:

import asyncio
import aiohttp

async def fetch_page(session, url):
    with aiohttp.Timeout(10):
        async with session.get(url) as response:
            assert response.status == 200
            return await response.read()

loop = asyncio.get_event_loop()
with aiohttp.ClientSession(loop=loop) as session:
    content = loop.run_until_complete(
        fetch_page(session, 'http://python.org'))
    print(content)
Run Code Online (Sandbox Code Playgroud)

他们为Python 3.4用户提供以下注释:

如果您使用的是Python 3.4,请使用@coroutine装饰器替换a yield和async def.

如果我遵循这些说明,我会得到:

import aiohttp
import asyncio

@asyncio.coroutine
def fetch(session, url):
    with aiohttp.Timeout(10):
        async with session.get(url) as response:
            return (yield from response.text())

if __name__ == '__main__':
    loop = asyncio.get_event_loop()
    with aiohttp.ClientSession(loop=loop) as session:
        html = loop.run_until_complete(
            fetch(session, 'http://python.org'))
        print(html)
Run Code Online (Sandbox Code Playgroud)

但是,这不会运行,因为 …

python python-3.x async-await python-asyncio aiohttp

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

嵌入层和密集层之间有什么区别?

Keras 嵌入层的文档说:

将正整数(索引)转换为固定大小的密集向量.例如.[[4], [20]]- >[[0.25, 0.1], [0.6, -0.2]]

我相信这也可以通过将输入编码为长度的一个热矢量vocabulary_size并将它们馈送到密集层来实现.

嵌入层只是这个两步过程的便利,还是引人入胜的东西?

machine-learning neural-network deep-learning keras keras-layer

20
推荐指数
2
解决办法
4508
查看次数

如何在 Nim 中迭代元组?

假设我有一个程序getTuple(): (int, int, int)。如何迭代返回的元组?它看起来不像items是为tuple,所以我做不到for i in getTuple()

我最初让这个返回 a sequence,这被证明是一个瓶颈。我可以让它在不影响性能的情况下工作吗?我想作为最后的手段我可以展开我的循环,但有什么办法吗?

nim-lang

11
推荐指数
2
解决办法
863
查看次数

iOS在UIImageView顶部淡入黑色

我有一个UITableView在我的小区backgroundView是一个UIImageView.我希望每个图像的顶部都淡入黑色,这样我就可以覆盖一些白色文本.

我已经看过像一些答案这个,但没有一个似乎工作.

tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath)我尝试过:

var imageView = UIImageView(image: image)

var gradient: CAGradientLayer = CAGradientLayer()
gradient.frame = imageView.frame
gradient.colors = [UIColor.blackColor(), UIColor.clearColor()]
gradient.locations = [0.0, 0.1]
imageView.layer.insertSublayer(gradient, atIndex: 0)

cell!.backgroundView = imageView
Run Code Online (Sandbox Code Playgroud)

但是,当我删除渐变代码时,我看不到渐变,也没有区别.我的渐变是否位于图像下方?

如果我替换线imageView.layer.insertSublayer(gradient, atIndex: 0),imageView.layer.mask = gradient那么我的细胞只是空白和白色(不再是图像).

uiimageview ios cagradientlayer swift

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

Nim 中函数参数的元组

我可以在 Nim 中将元组转换为函数参数列表吗?在其他语言中,这被称为“splat”或“apply”。

例如:

proc foo(x: int, y: int) = echo("Yes you can!")

type:
  Point = tuple[x, y: int]

let p: Point = (1,1)

# How to call foo with arguments list p?
Run Code Online (Sandbox Code Playgroud)

tuples apply nim-lang

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

矮人错误:找不到 DIE

我在调试 XCode 4 的 C++ 项目中的分段错误时遇到了很多麻烦。

当我使用“LLVM 2.0”编译器选项构建并使用 -O3 优化时,我只会遇到段错误。据我了解,当使用优化时,调试选项有限,但这是我在 Xcode 中运行并打开 gdb 后得到的调试输出:

warning: Got an error handling event: "Dwarf Error: Cannot find DIE at 0x3be2 referenced from DIE at 0x11d [in module /Users/imran/Library/Developer/Xcode/DerivedData/cgo-hczcifktgscxjigfphieegbpxxsq/Build/Products/Debug/cgo]".
No memory available to program now: unsafe to call malloc
Run Code Online (Sandbox Code Playgroud)

之后我无法让 gdb 为我提供任何有用的信息(如跟踪),但我不确定我是否真的知道如何正确使用它。当我尝试使用“LLDB”调试器时,Xcode 崩溃了(自从我开始使用它以来,这一直是一个常见的主题)。

我的程序是确定性的,但是当我尝试用打印语句隔离问题时,行为会改变。例如,如果我cout << "hello";在某一点添加段错误就会消失。其他打印语句导致我的程序在其主循环的不同迭代中出现段错误。很自然地,当我输入足够多的打印语句来确定有问题的代码时,段错误似乎发生在一行之后但在下一行之前(即无处)。

我正在使用指针和动态内存分配,这可能是问题的原因,但由于我无法缩小导致错误的代码块的范围,我不知道这里显示什么代码。

我尝试使用 Instruments 中的“泄漏”工具进行分析,但没有发现任何泄漏。

有什么建议吗?我对调试非常缺乏经验,所以任何事情都会有所帮助,真的。

编辑:解决了。给定某些输入,我的程序将尝试读取数组的末尾。

c++ macos segmentation-fault xcode4

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

iOS 8 Swift导航栏标题,按钮未显示在基于选项卡的应用程序中

我正在尝试按照本教程,这个答案,以及在iOS 8/Swift中基于选项卡的应用程序中为每个选项卡创建导航栏的答案,但我的导航栏上没有显示标题或按钮.

这是我到目前为止:

// AppDelegate.swift
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {            
    let tabBarController = UITabBarController()

    let vc1 = ViewController()
    let vc2 = ViewController()
    let vc3 = ViewController()

    let nc1 = UINavigationController(rootViewController: vc1)
    let nc2 = UINavigationController(rootViewController: vc2)
    let nc3 = UINavigationController(rootViewController: vc3)

    let controllers = [nc1,nc2,nc3]

    tabBarController.viewControllers = controllers

    nc1.tabBarItem = UITabBarItem(title: "item1", image: nil, tag: 1)
    nc2.tabBarItem = UITabBarItem(title: "item2", image: nil, tag: 1)
    nc3.tabBarItem = UITabBarItem(title: "item3", image: …
Run Code Online (Sandbox Code Playgroud)

iphone uitabbarcontroller uinavigationcontroller ios swift

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

元组splat /适用于Rust

我发现这个关于元组splatting的讨论,但它是从2014年开始的.

给出的例子是:

fn sum(x: i32, y: i32) -> i32 {
    x + y
}

fn prepare_args () -> (i32, i32) {
    (1, 2)
}

fn main() {
    sum(prepare_args()); // Doesn't work
}
Run Code Online (Sandbox Code Playgroud)

建议的解决方案是推出自己的apply功能:

fn apply<A,B,C>(f: |A,B|->C, t: (A,B)) -> C {
    let (a,b) = t;
    f(a,b)
}

fn main() {
    apply(sum, prepare_args());
}
Run Code Online (Sandbox Code Playgroud)

这是目前最好的方式吗?如果是这样,这里的语法是什么?我得到一些错误,包括expected type, found| at line 1 col 20使用上面的.

还有没有元组splat运算符吗?

tuples rust

5
推荐指数
2
解决办法
670
查看次数

为什么 PyTorch 中的嵌入实现为稀疏层?

PyTorch 中的嵌入层列在“稀疏层”下,但有以下限制:

请记住,只有有限数量的优化器支持稀疏梯度:目前是 optim.SGD(cuda 和 cpu)和 optim.Adagrad(cpu)

这是什么原因?例如,在 Keras 中,我可以使用任何优化器训练带有嵌入层的架构。

neural-network deep-learning pytorch

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

什么是重命名在GitHub上叉的后果是什么?

如果我在GitHub上存储开放源代码存储库A并通过“设置”标签将其重命名为B,我仍然能够:

  1. 合并从A到B的更改?
  2. 提交基于我已经到B所做的更改拉请求到?

有没有,我还没有想到一个重命名的任何其他潜在后果?

git open-source github

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