小编Abh*_*tia的帖子

计算龟与斑块之间的角度

如何计算图中指定的上述角度.贴片事先已知. 在此输入图像描述

netlogo

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

比较两个numpy数组逐行ValueError

我想NumPy逐行比较两个数组并返回相同行的数量。

如果我使用下面的代码:

a=np.array([[1,2],[3,4]])
b=np.array([[1,4],[2,3]])
comp= np.logical_and(np.equal(a,b))
correct=numpy.sum(comp)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

ValueError: invalid number of arguments
Run Code Online (Sandbox Code Playgroud)

但是,这可行:

np.logical_and([True, False], [False, False])
Run Code Online (Sandbox Code Playgroud)

这可能很愚蠢,但我是新手NumPy。请帮忙。

python numpy

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

在numpy数组中合并轴

我想将X,Y,Z numpy数组转换为(X * Z)* Y numpy数组。

代码(慢):

 def rearrange(data):
        samples,channels,t_insts=data.shape
        append_data=np.empty([0,channels])
        for sample in range(0,samples):
            for t_inst in range(0,t_insts):
                channel_data=data[sample,:,t_inst]
                append_data=np.vstack((append_data,channel_data))
        return append_data.shape
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种更好的矢量化方法

python arrays numpy vectorization

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

计算numpy memmap Infinity输出的均值和方差

创建memmap数组:

  out = np.memmap('my_array.mmap', dtype=np.float16, mode='w+', shape=(num_axis1, num_axis2))
  for index,row in enumerate(temp_train_data):
        __,cd_i=pywt.dwt(X_train[index:index+1001].ravel(),'haar')
        out[index]=(cd_i)
(Pdb) out.shape
(1421392L, 3504L)
Run Code Online (Sandbox Code Playgroud)

现在,我只是对这个数组进行扩展.减去均值并除以方差.

np.mean(out[:,1])
memmap(inf, dtype=float16)
Run Code Online (Sandbox Code Playgroud)

输出是 memmap(inf, dtype=float16) 我不明白为什么!

可重复的例子:

import numpy as np
ut = np.memmap('my_array.mmap', dtype=np.float16, mode='w+',\
  shape=(140000, 3504))
for index,row in enumerate(ut):
    ut[index]=np.random.rand(1,3504)*10
print np.max(ut[:,1])
print np.mean(ut[:,1],axis=0)
Run Code Online (Sandbox Code Playgroud)

10.0

INF

python memory numpy

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

如何绘制一个圆圈?

下面的代码在Matlab中绘制圆圈.如何指定MarkerEdgeColorMarkerFaceColor中.

function plot_model
exit_agents=csvread('C:\Users\sony\Desktop\latest_mixed_crowds\December\exit_agents.csv');
%scatter(exit_agents(:,2),exit_agents(:,3),pi*.25^2,'filled');
for ii =1:size(exit_agents,1),
    circle(exit_agents(ii,2),exit_agents(ii,3),0.25);
end
end
function h = circle(x,y,r)
hold on
th = 0:pi/50:2*pi;
xunit = r * cos(th) + x;
yunit = r * sin(th) + y;
h = plot(xunit, yunit);
hold off
end
Run Code Online (Sandbox Code Playgroud)

使用绘图和散射在缩放时奇怪地缩放它们.这不是我想要的.

matlab plot scatter-plot

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

使用fmincon进行约束最小化

我想用解决约束最小化问题fmincon.但是约束是根据函数来定义的f(x_0)<a,其中x_0是问题的解决方案.可能吗?

在文档中,示例仅包含此x_0<a表单.

码:

f_obj = @(x)var_zcors(x,t_cw);
opt_theta = fminbnd(f_obj,0,360);
Run Code Online (Sandbox Code Playgroud)

现在,x应该受到限制f_constraint(x)< a.

更新(来自@Phil Goddard的回答):

f_obj = @(x)var_zcors(x,t_cw);
f_nl = @(x)deal(f_constraint(x)-a,[]);
x0 = 180; % or whatever is appropriate
opt_theta = fmincon(f_obj,x0,[],[],[],[],0,360,f_nl);
Run Code Online (Sandbox Code Playgroud)

在上面的代码中说,f_constraint返回一个向量[x_min y_max]而不是标量.我想指定以下约束:

x_min>b
y_max<a
Run Code Online (Sandbox Code Playgroud)

有什么方法可以实现这一目标?

optimization matlab constraints

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

Keras交叉熵损失

如何计算keras中的交叉熵?我计算L1损失如下:

def l1_loss(y_true, y_pred):
    return K.sum(K.abs(y_pred - y_true), axis=-1)
Run Code Online (Sandbox Code Playgroud)

keras

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

张量流中的分裂张量

我想把张量分成两部分:

ipdb> mean_log_std
<tf.Tensor 'pi/add_5:0' shape=(?, 2) dtype=float32>
Run Code Online (Sandbox Code Playgroud)

背景:?对于样本数量而另一个维度是2.我想沿着第二维分割成沿该维度的形状1的两个张量流.

我尝试了什么?(https://www.tensorflow.org/api_docs/python/tf/slice)

ipdb> tf.slice(mean_log_std,[0,2],[0,1])
<tf.Tensor 'pi/Slice_6:0' shape=(0, 1) dtype=float32>
ipdb> tf.slice(mean_log_std,[0,1],[0,1])
<tf.Tensor 'pi/Slice_7:0' shape=(0, 1) dtype=float32>
ipdb>
Run Code Online (Sandbox Code Playgroud)

我希望上面两个分割的形状为(?,1)和(?,1).

tensorflow

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

如何快速存储numpy对象(矩阵)?

我必须存储一个numpy矩阵列表.我尝试了两种方法:

1.创建并附list加到它:

ls_ws=[]
for ind in range(iterations):
    ...
    ls_ws.append(ls_w) # ls_w is a matrix of size 6,1
Run Code Online (Sandbox Code Playgroud)

问题:开始时速度很快,最后速度很慢.

2.创建一个零矩阵并修改它:

for ind in range(iterations):
    ...
    ls_ws=np.matrix(np.zeros((6,iterations))) 
Run Code Online (Sandbox Code Playgroud)

问题:我不太确定,但无论每次迭代如何,这似乎都是相同的速度.
我得到的奇怪的事情,如果我将迭代设置为较小的数字,它很快.但是,如果我将它设置为1500这样的大数,则每次迭代(即使是第一次迭代)都非常慢.


第二种方法应该很快,但如果我将迭代设置为大数,则速度非常慢.为什么?怎么解决?

python performance numpy append matrix

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

哈希集中存在命名元组

In [1]: x = set()
In [2]: pos = collections.namedtuple('Position', ['x','y'])
In [4]: x.add(pos(1,1))
In [5]: x
Out[5]: {Position(x=1, y=1)}
In [6]: pos(1,1) in x
Out[6]: True
In [8]: pos(1,2) in x
Out[8]: False
Run Code Online (Sandbox Code Playgroud)

没想到6号线pos(1,1) in x还能通车。因为 pos(1,1) 似乎每次都会创建一个具有不同对象 id 的对象。

In [9]: id(pos(1,1))
Out[9]: 140290954200696
In [10]: id(pos(1,1))
Out[10]: 140290954171016
Run Code Online (Sandbox Code Playgroud)

在这种情况下,集合运算符如何in处理命名元组?它会检查namedtuple的内容吗?

python

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