小编Sea*_*123的帖子

无法将形状(3,1)的输入数组广播为形状(3,)

import numpy as np

def qrhouse(A):
    (m,n) = A.shape
    R = A
    V = np.zeros((m,n))
    for k in range(0,min(m-1,n)):
        x = R[k:m,k]
        x.shape = (m-k,1)
        v = x + np.sin(x[0])*np.linalg.norm(x.T)*np.eye(m-k,1)
        V[k:m,k] = v
        R[k:m,k:n] = R[k:m,k:n]-(2*v)*(np.transpose(v)*R[k:m,k:n])/(np.transpose(v)*v)
    R = np.triu(R[0:n,0:n])     
    return V, R

A = np.array( [[1,1,2],[4,3,1],[1,6,6]] )
print qrhouse(A) 
Run Code Online (Sandbox Code Playgroud)

它是qr分解代码,但我不知道为什么会发生错误.值错误发生在V[k:m,k] = v

value error :
could not broadcast input array from shape (3,1) into shape (3) 
Run Code Online (Sandbox Code Playgroud)

python numpy

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

具有不同序列长度的多对多序列预测

我的问题是使用Keras的LSTM层预测(t_0, t_1, ... t_{n_post-1})给定前一个时间步长的值序列(t_{-n_pre}, t_{-n_pre+1} ... t_{-1}).

Keras很好地支持以下两种情况:

  • n_post == 1 (多对一预测)
  • n_post == n_pre (多个到多个预测序列长度相等)

但不是版本在哪里n_post < n_pre.

为了说明我的需要,我使用正弦波构建了一个简单的玩具示例.

多对一模型预测

使用以下型号:

model = Sequential()  
model.add(LSTM(input_dim=1, output_dim=hidden_neurons, return_sequences=False))  
model.add(Dense(1))
model.add(Activation('linear'))   
model.compile(loss='mean_squared_error', optimizer='rmsprop') 
Run Code Online (Sandbox Code Playgroud)

预测看起来像这样: 正弦:多对一LSTM

使用n_pre == n_post进行多对多模型预测

网络学会使用n_pre == n_post非常好地拟合正弦波与这样的模型:

model = Sequential()  
model.add(LSTM(input_dim=1, output_dim=hidden_neurons, return_sequences=True))  
model.add(TimeDistributed(Dense(1)))
model.add(Activation('linear'))   
model.compile(loss='mean_squared_error', optimizer='rmsprop')  
Run Code Online (Sandbox Code Playgroud)

使用n_post == n_pre对多个模型进行预测

使用n_post <n_pre进行多对多模型预测

但现在,假设我的数据如下所示:dataX或input:(nb_samples, nb_timesteps, nb_features) -> (1000, 50, 1) dataY或output:(nb_samples, nb_timesteps, nb_features) -> (1000, 10, 1)

经过一些研究后,我找到了一种如何在Keras中处理这些输入大小的方法,使用如下模型:

model = Sequential()  
model.add(LSTM(input_dim=1, output_dim=hidden_neurons, return_sequences=False)) …
Run Code Online (Sandbox Code Playgroud)

python lstm keras tensorflow recurrent-neural-network

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

argo中循环任务的输出是什么?

根据Argo DAG 模板文档

\n
\n

tasks.<TASKNAME>.outputs.parameters: 当上一个任务使用\n\'withItems\' 或 \'withParams\' 时,这包含每个调用的输出\n参数映射的 JSON 数组

\n
\n

当尝试使用以下简单的工作流程时:

\n
apiVersion: argoproj.io/v1alpha1\nkind: Workflow\nmetadata:\n  generateName: test-workflow-\nspec:\n  entrypoint: start\n  templates:\n  - name: start\n    dag:\n      tasks:\n        - name: with-items\n          template: hello-letter\n          arguments:\n            parameters:\n            - name: input-letter\n              value: "{{item}}"\n          withItems:\n          - A\n          - B\n          - C\n        - name: show-result\n          dependencies:\n          - with-items\n          template: echo-result\n          arguments:\n            parameters:\n            - name: input\n              value: "{{tasks.with-items.outputs.parameters}}"\n\n  - name: hello-letter\n    inputs:\n      parameters:\n      - name: input-letter\n    outputs:\n      parameters:\n      - name: output-letter\n        value: …
Run Code Online (Sandbox Code Playgroud)

kubernetes argoproj argo-workflows

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

为我的自定义迭代器实现iteritems函数?

以下程序的目的是学习python生成器和迭代器实现,以便了解Python魔术方法.

我卡住了实现这个iteritems()功能.另外,我想知道我是否朝着正确的方向前进,或者在理解python魔术方法时我在概念上是错误的.

import random

class Random(object):
    """ generate randomised int of specified length --> [r1, r2, r3....] """

    def __init__(self, length = 1, rand_range = 100):
        self.index = 0
        self.generated_range = []
        self.length = length if str(length).isdigit() else 1
        self.rand_range = rand_range if str(rand_range).isdigit() else 100

    def __iter__(self): return self

    def next(self):
        if self.index < self.length:
            item = random.randrange(0, self.rand_range)
            self.generated_range.append(item)
            self.index += 1
            return item
        raise StopIteration

    def __eq__(self, obj):
        if self.length == obj.length and self.rand_range == …
Run Code Online (Sandbox Code Playgroud)

python containers iterator

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

Python AST:如何获取节点的子节点

我正在研究 Python 2.6.5。

给定一个抽象语法树,我想获取它的子树。

大多数 StackOverflow 帖子都讨论了ast.NodeVisitor其中定义的方法:visit()generic_visit()。但是,visit()并不generic_visit()要给孩子们,而是他们直接将函数递归地应用到他们身上。

有人可以写一段简短的代码来演示它吗?python库中是否存在相同的预定义函数?

python abstract-syntax-tree

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

用于在线游戏的Java机器人

我正在使用java在java中创建一个bot java.awt.Robot.机器人在浏览器上工作正常(我也使用Microsoft Word测试过它!)但是当我在游戏中运行它时,唯一有效的功能是mouseMove.我想构建一个只需按下键盘按钮的机器人.

我实例化了机器人类

Robot r = new Robot();
Run Code Online (Sandbox Code Playgroud)

然后我做一些简单的事情:按z,按1,移动鼠标并右键单击.

r.keyPress(KeyEvent.VK_Z);
r.keyRelease(KeyEvent.VK_Z);

r.keyPress(KeyEvent.VK_1);
System.out.println("Press 1 button");
r.keyRelease(KeyEvent.VK_1);
System.out.println("Release 1 button");
r.delay(1000);

System.out.println("Move mouse");
r.mouseMove(110, 690);

System.out.println("Press");
r.mousePress(InputEvent.BUTTON3_MASK);
System.out.println("Release");
r.mouseRelease(InputEvent.BUTTON3_MASK);
Run Code Online (Sandbox Code Playgroud)

为什么会这样?如果它在后台运行,这个Robot类可以在游戏中执行这些操作吗?

谢谢

更新:例如,如果我在PES 2012上运行我的机器人,它运行正常,但如果我在像Cabal这样的在线游戏上运行它,它不起作用?游戏的保护系统没有检测到任何东西,所以情况并非如此.

java bots online-game awtrobot

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

为什么退出Ruby线程会杀死我的整个程序?

我有这段代码:

puts "Start"
loop do
    Thread.start do
        puts "Hello from thread"
        exit
    end
    text = gets
    puts "#{text}"
end
puts "Done"
Run Code Online (Sandbox Code Playgroud)

我期望看到"开始"后跟"线程中的Hello",然后我可以输入回复给我的输入.相反,我得到"开始"和"来自线程的Hello",然后程序退出.

从以下文档exit:

终止thr并调度另一个要运行的线程.如果此线程已被标记为被杀死,则exit返回Thread.如果这是主线程或最后一个线程,则退出进程.

但我以为我催生了一个新线程?为什么退出我的主要流程?

ruby multithreading

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

如何离线安装julia软件包

我想在断开互联网连接的计算机上使用Julia。是否有简单的过程下载软件包然后脱机安装?

julia

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

无法训练神经网络解决XOR映射

我正在尝试为Keras中的XOR问题实现一个简单的分类器.这是代码:

from keras.models import Sequential
from keras.layers.core import Dense, Dropout, Activation
from keras.optimizers import SGD
import numpy

X = numpy.array([[1., 1.], [0., 0.], [1., 0.], [0., 1.], [1., 1.], [0., 0.]])
y = numpy.array([[0.], [0.], [1.], [1.], [0.], [0.]])
model = Sequential()
model.add(Dense(2, input_dim=2, init='uniform', activation='sigmoid'))
model.add(Dense(3, init='uniform', activation='sigmoid'))
model.add(Dense(1, init='uniform', activation='softmax'))
sgd = SGD(lr=0.001, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='mean_squared_error', optimizer=sgd)

model.fit(X, y, nb_epoch=20)
print()
score = model.evaluate(X, y)
print()
print(score)
print(model.predict(numpy.array([[1, 0]])))
print(model.predict(numpy.array([[0, 0]])))
Run Code Online (Sandbox Code Playgroud)

我尝试改变时代数,学习率和其他参数.但是从第一个时期到最后一个时期错误保持不变.

Epoch 13/20
6/6 [==============================] - …
Run Code Online (Sandbox Code Playgroud)

python neural-network keras

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

使用自定义双大括号格式的 Python 模板安全替换

我正在尝试{{var}}用 Python 的模板替换格式中的变量。

from string import Template

class CustomTemplate(Template):
    delimiter = '{{'
    pattern = r'''
    \{\{(?:
    (?P<escaped>\{\{)|
    (?P<named>[_a-z][_a-z0-9]*)\}\}|
    (?P<braced>[_a-z][_a-z0-9]*)\}\}|
    (?P<invalid>)
    )
    '''

replacement_dict = {
    "test": "hello"
}

tpl = '''{
    "unaltered": "{{foo}}",
    "replaced": "{{test}}"
}'''

a = CustomTemplate(tpl)
b = a.safe_substitute(replacement_dict)

print(b)
Run Code Online (Sandbox Code Playgroud)

输出:

{
    "unaltered": "{{foo",
    "replaced": "hello"
}
Run Code Online (Sandbox Code Playgroud)

如您所见,{{foo}}变量(不是替换的一部分)的右括号被砍掉了。我认为这是正则表达式的编写方式(结束\}\})?

我想用模板来解决这个问题,而不是用任何其他外部库。

python regex templates string-interpolation

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