小编nak*_*nis的帖子

Dijkstra算法.最小堆作为最小优先级队列

我正在阅读CLRS第三版中的 Dijkstra算法(第662页).这是我不明白的书中的一部分:

如果图形足够稀疏 - 特别是E = o(V^2/lg V)- 我们可以通过使用二进制最小堆实现最小优先级队列来改进算法.

图为什么要稀疏?


这是另一部分:

每个DECREASE-KEY操作都需要时间O(log V),并且最多仍然有E这样的操作.

假设我的图形如下所示:

从1到6

我想计算从1到6的最短路径并使用最小堆方法.首先,我将所有节点添加到最小优先级队列.构建最小堆后,min节点是源节点(因为它与自身的距离为0).我提取它并更新其所有邻居的距离.

然后我需要调用decreaseKey距离最小的节点来创建一个新的最小堆.但是如何在恒定时间内知道它的指数呢?

节点

private static class Node implements Comparable<Node> {

    final int key;
    int distance = Integer.MAX_VALUE;
    Node prev = null;

    public Node(int key) {
        this.key = key;
    }

    @Override
    public int compareTo(Node o) {
        if (distance < o.distance) {
            return -1;
        } else if (distance > o.distance) {
            return 1;
        } else {
            return 0;
        }
    }

    @Override …
Run Code Online (Sandbox Code Playgroud)

heap dijkstra priority-queue min-heap

21
推荐指数
1
解决办法
6695
查看次数

存储库子目录中的 Swift 包管理器依赖项

我在 GitHub 内的 git 存储库的子目录中有一个 Swift 包。这棵树看起来像这样:

\n
.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 swift-package\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Package.swift\n\xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 Sources\n\xe2\x94\x82       \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 SomeLibrary\n\xe2\x94\x82           \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 Library.swift\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 some-other-files\n
Run Code Online (Sandbox Code Playgroud)\n

我想添加swift-package为另一个项目的依赖项。

\n

但指定依赖关系的唯一方法是当包位于存储库的顶层时:

\n
dependencies: [\n    .package(url: "http://github.com/Some/Repository", from: "1.2.3"),\n],\n
Run Code Online (Sandbox Code Playgroud)\n

我需要的是类似的东西.package(url: "http://github.com/Some/Repository, dir: "swift-package"...)

\n

我无法将包移至单独的存储库。

\n

有没有办法使用 Swift Package Manager 来实现这样的事情?如果没有,我有什么选择?另外,向 Swift Package Manger 开发人员提交功能请求的最佳方式是什么?

\n

github swift swift-package-manager

14
推荐指数
1
解决办法
4482
查看次数

Docker将文件添加到VOLUME

我有一个Dockerfile将一些文件复制到容器中,然后创建一个VOLUME.

...
ADD src/ /var/www/html/
VOLUME /var/www/html/files
...
Run Code Online (Sandbox Code Playgroud)

src文件夹中是一个文件夹,在这个文件夹中是我需要在容器第一次启动时复制到VOLUME的一些文件.

我认为第一次创建容器时它会使用卷中指定的原始目录的内容,但事实并非如此.

那么如何将文件存入此文件夹?我是否需要创建一个额外的文件夹并使用脚本复制它(我希望不是)?

docker dockerfile

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

没有NSURLRequest的Swift中的HTTP请求

我们想要发出HTTP(S)请求(GET)来调用API.问题是,NSURLRequest(目前)尚未在Linux for Foundation中实现(https://github.com/apple/swift-corelibs-foundation/blob/master/Foundation/NSURLRequest.swift).

是否还有其他创建HTTP请求的可能性?

linux httprequest swift

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

从Django 1.6升级到1.9:python manage.py迁移失败

我正在生产Django 1.6.6并且最近在登台(dev服务器)上升级到了1.9.7.此更新是在服务器上执行的,我按照此处概述的步骤从South升级.

我注意到迁移文件的结构已更改,并且它们不再包含create语句.这会导致问题,因为如果我从我的GitHub库拉这个新的代码和运行python manage.py makemigrations或者python manage.py migrate,它说:

django.db.utils.OperationalError: no such table: appname_modelname

回溯指向我的urls.py,因为我在查询集中引用了模型:

queryset=list(chain(models.modelname.objects.filter(booleanField=True).order_by(object), models.aDifferentModel.objects.all())),

在1.9升级之前,syncdb为我创建了表,但事实并非如此migrate.我也尝试了,python manage.py migrate --run-syncdb但这给出了同样的错误.

但是,如果我将SQLite数据库从我的生产或登台环境复制到我的本地计算机并运行该命令,它就可以工作(因为该表已经在数据库中).

我是否必须手动创建这些表(虽然我不假设)或者我做错了什么?

编辑:添加了代码段和回溯.很抱歉没有这样做.

models.py

class HowToApply(models.Model):
    title = models.CharField(max_length=500, blank=True, null=True)
    notice = models.TextField(blank=True, null=True)
description = models.TextField(blank=True, null=True)
active = models.BooleanField(default=None)
image = models.FileField(upload_to='numeric/img/%Y', blank=True, null=True)
mobile_image = models.FileField(upload_to='mobile/img/%Y', blank=True, null=True)
sequence_number = models.IntegerField(unique=True)
Run Code Online (Sandbox Code Playgroud)

...

urls.py

from django.conf.urls import patterns, include, url
from django.views.generic import RedirectView, …
Run Code Online (Sandbox Code Playgroud)

python sqlite django django-south django-migrations

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

使用 Tensorflow Serving 进行双向流式传输

我有一个模型,它接受任意长度的数据流并执行分类。我使用 Tensorflow Serving 监听 gRPC 请求并对经过训练的模型执行分类。

\n\n

Google Cloud Speech API 具有“流式语音识别”功能,该功能在使用 gRPC 请求时可用,该功能“允许您将音频流式传输到 Cloud Speech API,并在音频播放时实时接收语音识别结果流”。处理”。

\n\n

我相信这是可能的,因为gRPC 文档中描述了双向流 RPC ,其中“服务器和客户端可以 \xe2\x80\x9cping-pong\xe2\x80\x9d:服务器收到请求,然后发回响应,然后客户端根据响应发送另一个请求,依此类推”。

\n\n

所以现在我想知道是否可以使用 Tensorflow Serving 实现类似于 Google Cloud Speech API 流识别的功能。我在 TF Serving 的官方文档中可以找到的关于此的唯一参考资料(除非我错过了一些内容)是在描述未来可能的改进时:“Servable 可以是任何类型和接口,从而实现灵活性和未来的改进,例如:流结果[。 ..]”。

\n\n

使用 TF Serving 是否已经可以实现此功能(双向流)?如果是这样,怎么办?如果没有,扩展 TF Serving 以添加此功能的最佳方法是什么?

\n

python grpc tensorflow tensorflow-serving google-cloud-speech

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

在 TensorFlow 中展平张量的最后两个维度

我正在尝试将张量从[A, B, C, D]into重塑[A, B, C * D]并将其输入到dynamic_rnn. 假设我事先不知道 B、C 和 D(它们是卷积网络的结果)。

我认为在 Theano 中,这种重塑看起来像这样:

x = x.flatten(ndim=3)
Run Code Online (Sandbox Code Playgroud)

似乎在 TensorFlow 中没有简单的方法可以做到这一点,到目前为止,这是我想出的:

x_shape = tf.shape(x)
x = tf.reshape(x, [batch_size, x_shape[1], tf.reduce_prod(x_shape[2:])]
Run Code Online (Sandbox Code Playgroud)

即使当的形状x曲线建筑物中是已知的(即,print(x.get_shape())打印出的绝对值,如[10, 20, 30, 40]整形后get_shape()变得[10, None, None]再次,仍然假定初始形状是未知的,所以我不能与绝对值操作。

当我传递x给 a 时,dynamic_rnn它失败了:

ValueError: Input size (depth of inputs) must be accessible via shape inference, but saw value None.
Run Code Online (Sandbox Code Playgroud)

为什么reshape无法处理这个案子?flatten(ndim=n)在 …

python theano tensorflow rnn

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