小编tgy*_*tgy的帖子

asyncio队列消费者协同程序

我有一个asyncio.Protocol从服务器接收数据的子类.我正在存储这些数据(每行,因为数据是文本)asyncio.Queue.

import asyncio

q = asyncio.Queue()

class StreamProtocol(asyncio.Protocol):
    def __init__(self, loop):
        self.loop = loop
        self.transport = None

    def connection_made(self, transport):
        self.transport = transport

    def data_received(self, data):
        for message in data.decode().splitlines():
            yield q.put(message.rstrip())

    def connection_lost(self, exc):
        self.loop.stop()

loop = asyncio.get_event_loop()
coro = loop.create_connection(lambda: StreamProtocol(loop),
                              '127.0.0.1', '42')
loop.run_until_complete(coro)
loop.run_forever()
loop.close()
Run Code Online (Sandbox Code Playgroud)

我想让另一个协程负责消耗队列中的数据并进行处理.

  • 这应该是一个asyncio.Task吗?
  • 如果队列变空是因为几秒钟没有收到数据怎么办?如何确保我的消费者不会停止(run_until_complete)?
  • 有没有比使用全局变量更简洁的方法?

python coroutine python-3.x python-asyncio

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

感知器的几何表示(人工神经网络)

我正在Geoffrey Hinton教授神经网络课程(不是最新的).

我对体重空间有一个非常基本的疑问. https://d396qusza40orc.cloudfront.net/neuralnets/lecture_slides%2Flec2.pdf Page 18. 在此输入图像描述

如果我有一个权重向量(偏差为0)为[w1 = 1,w2 = 2],训练案例为{1,2,-1}和{2,1,1},我猜{1,2}和{2,1}是输入向量.它如何以几何形式表示?

我无法想象它?为什么训练案例给出了一个将重量空间分成2的平面?有人可以在3维坐标轴上解释这个吗?

以下是ppt的文字:

1.重量空间每重量一个维度.

2.空间中的一个点对所有权重都有特定的设置.

3.假设我们已经消除了阈值,每个超平面可以通过原点表示为超平面.

我怀疑是在上面的第三点.请帮助我理解.

machine-learning perceptron neural-network

11
推荐指数
3
解决办法
3099
查看次数

C++包含完整路径

我发现#include "../app/thing.h"非常难看,我希望能够从我的项目的主根导入,如下所示:

#include <project/app/submodule/thing.h>

(我知道<>通常用于外部,但我发现它更清洁)

我怎样才能在项目的任何地方做到这一点?

c++ include include-path

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

使用pandas反转数据帧的行顺序

如何反转pandas.dataframe中行的顺序?

我到处看,唯一的事情人们都在谈论的排序,扭转了顺序 ...

我想要的很简单:

如果我的DataFrame看起来像这样:

   A      B     C
 ------------------
  LOVE    IS   ALL
  THAT   MAT   TERS
Run Code Online (Sandbox Code Playgroud)

我希望它成为这个:

   A      B     C
 ------------------
  THAT   MAT   TERS
  LOVE    IS   ALL
Run Code Online (Sandbox Code Playgroud)

我知道我可以按相反的顺序迭代我的数据但这不是我想要的.

python data-analysis pandas

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

6
推荐指数
1
解决办法
1861
查看次数

是否已经实现了RAII文件句柄?

RAII文件句柄看起来非常基本,所以我猜它已经实现了?但我找不到任何实施.我在boost :: iostreams中找到了file_descriptor,但我不知道它是不是我正在寻找的东西.

c++ io raii

6
推荐指数
2
解决办法
3491
查看次数

查找向量是否包含第二个元素等于X的对

我有这个向量:

using namespace std;

vector< pair<short, string> > vec = {};
Run Code Online (Sandbox Code Playgroud)

我想找出是否存在对<a, b>b == X.

我知道std::find<algorithm>,但不知道如何在这里使用它.

我应该写自己的功能吗?

bool is_in_vec(X)
{
    for (auto& e : vec)
        if (e.second == X)
            return true;
    return false;
}
Run Code Online (Sandbox Code Playgroud)

这有效吗?

c++ algorithm search coding-efficiency c++11

6
推荐指数
2
解决办法
7593
查看次数

pandas本地化并转换datetime列而不是datetimeindex

我有以下数据框,它由'tz-aware'索引 Datetimeindex.

In [92]: df
Out[92]: 
                                                   last_time
ts_recv
2017-02-13 07:00:01.103036+01:00  2017-02-13 16:03:23.626000
2017-02-13 07:00:03.065284+01:00  2017-02-13 16:03:23.626000
2017-02-13 07:00:13.244515+01:00  2017-02-13 16:03:23.626000
2017-02-13 07:00:17.562202+01:00  2017-02-13 16:03:23.626000
2017-02-13 07:00:17.917565+01:00  2017-02-13 16:03:23.626000
2017-02-13 07:00:21.985626+01:00  2017-02-13 16:03:23.626000
2017-02-13 07:00:28.096251+01:00  2017-02-13 16:03:23.626000
2017-02-13 07:00:32.087421+01:00  2017-02-13 16:03:23.626000
2017-02-13 07:00:33.386040+01:00  2017-02-13 16:03:23.626000
2017-02-13 07:00:43.923534+01:00  2017-02-13 16:03:23.626000
Run Code Online (Sandbox Code Playgroud)

我只有一个调用的列last_time,它也包含时间但是作为字符串,并且在不同的时区(America/New_York)中,而不是索引中的那个(也就是Europe/Paris).

我的目标是在正确的时区将此列转换为日期时间.

我尝试过以下方法:

In [94]: pd.to_datetime(df['last_time'])
Out[94]: 
ts_recv
2017-02-13 07:00:01.103036+01:00   2017-02-13 16:03:23.626
2017-02-13 07:00:03.065284+01:00   2017-02-13 16:03:23.626
2017-02-13 07:00:13.244515+01:00   2017-02-13 16:03:23.626
2017-02-13 07:00:17.562202+01:00   2017-02-13 …
Run Code Online (Sandbox Code Playgroud)

python timezone datetime pandas

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

Django聚合,计数总和

我有3个模型:论坛,线程,帖子和我正在创建一个视图来显示论坛列表.但我也想显示每个论坛的主题数和帖子数.

然后我必须:

  • 计算每个帖子的帖子数量
  • 将每个论坛的每个帖子的帖子数量相加

我在这里发现了类似的东西:Django:总结一个子子外来物的数量,但答案对我不起作用.

from django.shortcuts import render
from django.template import Context
from django.contrib.auth.decorators import login_required
from django.db.models import Count

from chinwag.models import Forum, Thread, Post

@login_required
def forums(request):
    forums = Forum.objects.annotate(num_posts=Count('threads__posts')).all(
            ).select_related('threads__last_post')
    return render(request, 'chinwag/forums.html', Context({
        'forums': forums,
    }))
Run Code Online (Sandbox Code Playgroud)

是否可以在1个SQL查询中执行此操作?怎么样?

python sql database django aggregate

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

为什么clang不使用constexpr版本的斐波那契计算斐波那契(500)?

我正在尝试constexpr:

#include <iostream>

constexpr long long fibonacci(const int x)
{
    return x <= 1 ? 1 : fibonacci(x - 1) + fibonacci(x - 2);
}

int main()
{
    const long long lol = fibonacci(500);
    std::cout << lol << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

所以我想lol在编译时计算:

toogy@stewie
» g++ -std=c++14 -g src/test.cc -o test.out
toogy@stewie
» ./test.out 
4859788740867454402
Run Code Online (Sandbox Code Playgroud)

它的工作非常好g++.在编译时,它甚至会进行一些记忆,优化这种糟糕的斐波纳契功能,然后fibonacci(500)立即进行计算.

然后我尝试clang++:

toogy@stewie
» clang++ -std=c++1y -g src/test.cc -o test.out 
toogy@stewie
» ./test.out
... very long
Run Code Online (Sandbox Code Playgroud)

lol …

c++ g++ clang++

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