小编mac*_*sme的帖子

使用Docker compose连接到另一个容器

我需要一起使用两个容器:一个使用Tomcat,另一个使用数据库.我创建了以下描述服务的yaml文件:

postgredb:
  image: postgres
  expose:
    - 5432
  ports:
    - 5432:5432
  environment:
    - POSTGRES_USER=user
    - POSTGRES_PASSWORD=password
tomcat:
  image:  tomcat
  links:
    - postgredb:db
  ports:
    - 8080:8080
Run Code Online (Sandbox Code Playgroud)

一旦启动docker-compose,我就可以看到我无法从Tomcat访问数据库,除非我检索数据库的IP地址(通过docker inspect)并在将Tomcat连接池配置到数据库时使用它.根据我的理解,应该链接两个容器,我希望在端口5432上的localhost上找到数据库.否则我看到链接容器的好处很少.我的理解是否正确?任何指导将不胜感激!

docker docker-compose

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

numpy.nextafter递减而不是递增

我陷入了一个奇怪的情况.我尝试了从Pyson发布的三个解决方案中的任何一个:以尽可能小的量增加python浮点值.当我降落在这个浮点上时,所有三个解决方案都显示出奇怪的行为:1.15898324042702949299155079643222061138153076171875.

假设我有以下代码:

import numpy as np
from __future__ import division

a = 1.15898324042702949299155079643242061138153076171875
b = 0
b = np.nextafter(a,1)
print a, b
Run Code Online (Sandbox Code Playgroud)

由于某种原因,它不是b按可能的最小量递增,而是递减.这是为什么?

这是我从玩游戏中得到的一些快速结果:

In [12]: a = 1.15898324042702949299155079643242061138153076171875

In [13]: a
Out[13]: 1.1589832404270295

In [14]: numpy.nextafter(a,1)
Out[14]: 1.1589832404270293

In [15]: numpy.nextafter(a,-1)
Out[15]: 1.1589832404270293
Run Code Online (Sandbox Code Playgroud)

python posix numpy c99

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

使用Python的Scipy DCT-II进行2D或ND DCT

我想使用scipy的DCT-II,因为它已经编码并且速度很快.看一下这个文档,它似乎是一维实现.是否可以以这种方式使用它作为3D实现?我不确定数学.2D和3D实现相当于在计算中使用不同尺寸乘以1D的2或3倍?

python dct scipy

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

Scipy的fftpack dct和idct

假设您使用dct函数,然后不对数据进行操作并使用反转变换; 倒置数据不会与预转换数据相同吗?为什么浮点问题?是报告的问题还是正常行为?

In [21]: a = [1.2, 3.4, 5.1, 2.3, 4.5]

In [22]: b = dct(a)

In [23]: b
Out[23]: array([ 33.        ,  -4.98384545,  -4.5       ,  -5.971707  ,   4.5       ])

In [24]: c = idct(b)

In [25]: c
Out[25]: array([ 12.,  34.,  51.,  23.,  45.])
Run Code Online (Sandbox Code Playgroud)

任何人都有解释为什么?当然,一个简单的c*10**-1方法可以解决这个问题,但是如果你重复调用函数来在几个维度上使用它,那么错误就会变大:

In [37]: a = np.random.rand(3,3,3)

In [38]: d = dct(dct(dct(a).transpose(0,2,1)).transpose(2,1,0)).transpose(2,1,0).transpose(0,2,1)

In [39]: e = idct(idct(idct(d).transpose(0,2,1)).transpose(2,1,0)).transpose(2,1,0).transpose(0,2,1)

In [40]: a
Out[40]: 
array([[[ 0.48709809,  0.50624831,  0.91190972],
        [ 0.56545798,  0.85695062,  0.62484782],
        [ 0.96092354,  0.17453537,  0.17884233]],

       [[ …
Run Code Online (Sandbox Code Playgroud)

python dct scipy fftpack

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

Numpy数组元素之间的差异

这将是一个相当简单的问题,我想知道在Python中是否有一个快速而干净的解决方法.

假设我有一个nd-array定义如下:

In [10]: C = np.random.rand(2,3,3)

In [11]: C
Out[11]: 
array([[[ 0.43588471,  0.06600133,  0.81145749],
        [ 0.20270693,  0.85879686,  0.75778422],
        [ 0.68253449,  0.98287412,  0.63804605]],

       [[ 0.61591433,  0.36453861,  0.23798795],
        [ 0.26761896,  0.00657165,  0.04083067],
        [ 0.11177481,  0.55245769,  0.97274592]]])
Run Code Online (Sandbox Code Playgroud)

然后我计算第三维数组中值和前一个值之间的差异,如下所示:

In [12]: C[:, :, 1:] = C[:, :, 1:] - C[:, :, 0:C.shape[2]-1]

In [13]: C
Out[13]: 
array([[[ 0.43588471, -0.36988337,  0.74545616],
        [ 0.20270693,  0.65608994, -0.10101264],
        [ 0.68253449,  0.30033963, -0.34482807]],

       [[ 0.61591433, -0.25137572, -0.12655065],
        [ 0.26761896, -0.26104731,  0.03425902],
        [ 0.11177481,  0.44068288,  0.42028823]]])
Run Code Online (Sandbox Code Playgroud)

是否可以使用类似的技术回到原始值,还是必须使用for循环和临时变量? …

python numpy array-difference

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

scipy,fftpack和float64

我想使用scipy.fftpack中的dct功能和一个numpy float64数组.但是,它似乎只针对np.float32实现.有什么快速的解决方法可以做到这一点吗?我很快调查了它,但我不确定所有依赖项.所以,在搞乱一切之前,我想我会在这里寻求提示!

到目前为止我唯一能找到的就是这个链接:http://mail.scipy.org/pipermail/scipy-svn/2010-September/004197.html

提前致谢.

这是它引发的ValueError:

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-12-f09567c28e37> in <module>()
----> 1 scipy.fftpack.dct(c[100])

/usr/local/Cellar/python/2.7.3/lib/python2.7/site-packages/scipy/fftpack/realtransforms.pyc in dct(x, type, n, axis, norm, overwrite_x)
    118         raise NotImplementedError(
    119               "Orthonormalization not yet supported for DCT-I")
--> 120     return _dct(x, type, n, axis, normalize=norm, overwrite_x=overwrite_x)
    121 
    122 def idct(x, type=2, n=None, axis=-1, norm=None, overwrite_x=0):

/usr/local/Cellar/python/2.7.3/lib/python2.7/site-packages/scipy/fftpack/realtransforms.pyc in _dct(x, type, n, axis, overwrite_x, normalize)
    215             raise ValueError("Type %d not understood" % type)
    216     else:
--> 217         raise ValueError("dtype %s …
Run Code Online (Sandbox Code Playgroud)

python 64-bit scipy

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

Python numpy数组奇怪的回归

我对python比较陌生.我有一个有3个维度的numpy数组.我知道我们只能显示几个元素:.

它似乎工作得很好,而我从一个小值开始这样做,但在某一点上,它返回的东西不同于矩阵.

我想得到数组的平均值.所以,例如,给定一个数组c,我做numpy.mean(c[0:200][0:200][0:200]).这很好用.但增加起点(即c[200:][200:][200:])不起作用并返回nan.因此,打印结果解释了nan值.但我不明白为什么要c[200:][200:][200:]回答这种答案.

这是两个例子:

In [68]: c.shape
Out[68]: (448, 433, 446)

In [63]: c[100:][100:][100:]
Out[63]: 
array([[[ 0.,  0.,  0., ...,  0.,  0.,  0.],
        [ 0.,  0.,  0., ...,  0.,  0.,  0.],
        [ 0.,  0.,  0., ...,  0.,  0.,  0.],
        ..., 
        [ 0.,  0.,  0., ...,  0.,  0.,  0.],
        [ 0.,  0.,  0., ...,  0.,  0.,  0.],
        [ 0.,  0.,  0., ...,  0.,  0.,  0.]],

       [[ 0.,  0.,  0., …
Run Code Online (Sandbox Code Playgroud)

python arrays numpy

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

标签 统计

python ×6

numpy ×3

scipy ×3

dct ×2

64-bit ×1

array-difference ×1

arrays ×1

c99 ×1

docker ×1

docker-compose ×1

fftpack ×1

posix ×1