问题列表 - 第25846页

在 Python 之外读取 numpy 数组

在最近的一个问题中,我询问了将大型 numpy 数组转换为分隔字符串的最快方法。我提出这个问题的原因是因为我想获取该纯文本字符串并将其传输(例如通过 HTTP)到用其他编程语言编写的客户端。显然,任何客户端程序都可以轻松使用分隔的数字字符串。但是,有人建议,由于字符串转换速度很慢,因此在 Python 端对数组进行 Base64 编码并将其作为二进制发送会更快。这确实更快。

我现在的问题是,(1)如何确保编码的 numpy 数组能够很好地传输到不同操作系统和不同硬件上的客户端,以及(2)如何在客户端解码二进制数据。

对于(1),我倾向于做如下的事情

import numpy as np
import base64
x = np.arange(100, dtype=np.float64)
base64.b64encode(x.tostring())
Run Code Online (Sandbox Code Playgroud)

我还有什么需要做的吗?

对于 (2),我很乐意在任何编程语言中提供一个示例,其目标是获取浮点数的 numpy 数组并将它们转换为类似的本机数据结构。假设我们已经完成了 Base64 解码并拥有一个字节数组,并且我们还知道 numpy dtype、维度以及所需的任何其他元数据。

谢谢。

python numpy

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

在Perl中使用join时附加前缀

我有一个字符串数组,我想使用连接函数.但是,我想为每个字符串添加相同的字符串.我可以在一行中执行此操作,而不是首先迭代数组并在使用join之前更改每个值吗?

实际上这有点棘手.前缀不是连接分隔符的一部分.这意味着如果在(1,2,3,4,5)数组上使用了类似"num-"的前缀,则需要得到以下结果:num-1,num-2,num-3,num-4 ,NUM-5

perl join

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

CSS背景图片

我有

.green {
background-image:('http://i42.tinypic.com/xzup2.jpg')
background-repeat: no-repeat;
height:430px;
width:100%;
}
.yellow {
background-image: url('/images/yellowlight.png');
background-repeat: no-repeat;
height:430px;
width:100%;
}
Run Code Online (Sandbox Code Playgroud)

在我的CSS.

.yellow工作正常,但是.green.不起作用.怎么了?

html css

0
推荐指数
1
解决办法
125
查看次数

有没有办法找出一个类在php中实例化了多少次?

我目前正在使用这种方法:

class Foo {
    private static $num_instances = 0;

    function __construct() {
        self::$num_instances++;
    }
}
Run Code Online (Sandbox Code Playgroud)

这似乎工作,但我想知道是否有一个内置的方式....

php oop

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

我的循环可以再次优化吗?

下面是我最里面的循环,运行几千次,输入大小为20 - 1000或更多.这段代码占用了99-99.5%的执行时间.我能做些什么来帮助挤出更多的表现吗?

我不打算将此代码移动到类似于使用树代码(Barnes-Hut)的东西,而是为了优化内部发生的实际计算,因为在Barnes-Hut算法中进行相同的计算.

任何帮助表示赞赏!

编辑:我在Core 2 Duo T5850(2.16 GHz)上使用Visual Studio 2008版本运行Windows 7 64位

typedef double real;

struct Particle
{
    Vector pos, vel, acc, jerk;
    Vector oldPos, oldVel, oldAcc, oldJerk;
    real mass;
};

class Vector
{
private:
    real vec[3];

public:
    // Operators defined here
};

real Gravity::interact(Particle *p, size_t numParticles)
{
    PROFILE_FUNC();
    real tau_q = 1e300;

    for (size_t i = 0; i < numParticles; i++)
    {
        p[i].jerk = 0;
        p[i].acc = 0;
    }

    for (size_t i = 0; i < …
Run Code Online (Sandbox Code Playgroud)

c++ math optimization loops physics

21
推荐指数
2
解决办法
1861
查看次数

Scala中2套的交叉产品

val cross = (for (x<-setA; y<-setB) yield (x,y))

val cross2 = (setA flatMap (x => setB map ((x,_)))
Run Code Online (Sandbox Code Playgroud)

有没有更优雅的方式来与跨产品运营商,或一些这样的?例如:

val cross3 = setA cross setB
Run Code Online (Sandbox Code Playgroud)

functional-programming scala

16
推荐指数
1
解决办法
3742
查看次数

C++中的无锁数据结构比较和交换例程

在本文中:无锁数据结构(pdf)显示以下"比较和交换"基础:

template <class T>
bool CAS(T* addr, T exp, T val)
{
  if (*addr == exp)
  {
    *addr = val;
    return true;
  }
  return false;
}
Run Code Online (Sandbox Code Playgroud)

然后说

整个过程都是原子的

但那是怎么回事?是否有可能其他一些演员可以改变作业和作业addr之间的价值if?在这种情况下,假设所有代码都使用了这个CAS基础,那么下次有什么东西"预期"它是某种特定方式,而事实并非如此.但是,这并没有改变它可能发生的事实,在这种情况下,它仍然是原子的吗?如果另一个演员的变化被这个演员覆盖了,那么另一个演员回归真实呢?如果那不可能发生,为什么呢?

我想相信作者,所以我在这里错过了什么?我认为这一定是显而易见的.如果这看起来微不足道,我提前道歉.

c++ lock-free atomicity

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

交替控制+拖动以在xCode界面构建器中将视图元素与文件所有者连接?

通过TightVNC连接到Mac Mini上处理iPhone应用程序; Interface Builder中的控制+拖动操作将视图元素连接到文件所有者不起作用 - 我没有看到连接线.

当我将键盘,鼠标和显示器连接到Mini并直接进行处理时,它确实有效,但是通过VNC连接运行它会更加方便.必须是阻止这种情况的TightVNC连接的一些怪癖.我为光标尝试了不同的TightVNC设置(让服务器处理它等等)但没有运气.

有没有替代控制+拖动挂钩出口?

windows iphone macos vnc interface-builder

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

什么是Win32 PulseEvent()函数的替代品?

Win32 API PulseEvent()函数(kernel32.dll)的文档声明此函数"......不可靠,不应被新应用程序使用.相反,使用条件变量".但是,条件变量不能像(命名)事件那样跨进程边界使用.

我有一个跨进程,跨运行时(本机和托管代码)的场景,其中单个生产者偶尔会有一些有趣的东西让或更多的消费者知道.现在,生产者使用此PulseEvent函数使用一个众所周知的命名事件(并设置为信号状态),当它需要知道某些事情时.零个或多个消费者等待该事件(WaitForSingleObject())并在响应中执行操作.在我的场景中不需要双向通信,并且生产者不需要知道事件是否有任何监听器,也不需要知道如果该事件是在成功地采取行动.另一方面,我不希望任何消费者曾经错过任何事件.换句话说,系统需要是完全可靠的-但是生产者并不需要知道,如果是这样的话该场景可以被认为是"时钟自动收报机" - 即,生产者为零个或多个消费者提供半常规信号以供计数.并且所有消费者必须在任何给定的时间段内具有正确的计数.允许消费者进行轮询(表现原因).自动收报机只有几毫秒(20左右,但并非完全正常).

Raymen Chen(The Old New Thing)有一篇博客文章指出了PulseEvent()函数的"根本缺陷"性质,但是我没有看到陈的陈述或发布的评论的替代方案.

任何人都可以建议吗?

请记住,IPC信号必须跨越机器上的处理边界,而不仅仅是线程.解决方案需要具有高性能,因为消费者必须能够在每个事件的10ms内采取行动.

winapi synchronization ipc

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

在numpy/scipy中切割数组

我有一个像这样的数组:

a = array([[1,2,3],[3,4,5],[4,5,6]])
Run Code Online (Sandbox Code Playgroud)

切出1x2阵列的最有效方法是什么,只有前两列"a"?

也就是说,

array([[2,3],[4,5],[5,6]]) in this case.
Run Code Online (Sandbox Code Playgroud)

谢谢.

python numpy scipy

16
推荐指数
3
解决办法
3万
查看次数