小编gre*_*ess的帖子

在MATLAB中考虑连续矩阵块的最大值

鉴于矩阵:

a =
   1   1   2   2
   1   1   2   2
   3   3   4   4
   3   3   4   4
Run Code Online (Sandbox Code Playgroud)

我想得到以下四个2x2矩阵:

a1 =
   1   1
   1   1

a2 =
   2   2
   2   2

a3 =
   3   3
   3   3

a4 =
   4   4
   4   4
Run Code Online (Sandbox Code Playgroud)

从那里,我想取每个矩阵的最大值,然后将结果重新整形为2x2结果矩阵,如下所示:

r =
   1   2
   3   4
Run Code Online (Sandbox Code Playgroud)

结果最大值相对于其在初始矩阵中的原始位置的位置是重要的.

目前,我正在使用以下代码来完成此任务:

w = 2
S = zeros(size(A, 1)/w);
for i = 1:size(S)
  for j = 1:size(S)
    Window = A(i*w-1:i*w, j*w-1:j*w);
    S(i, j) = max(max(Window));
  end
end
Run Code Online (Sandbox Code Playgroud)

这有效,但似乎必须有一种不涉及迭代(矢量化)的方法.

我尝试使用reshape像这样: …

matlab matrix vectorization

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

mmap的大小限制是多少

mmap()用来将共享内存对象映射到进程。我的问题分为两部分:

1)mmap()linux进程的大小限制是多少?(有此限制吗?)

2)进程运行一段时间后,我认为进程虚拟内存地址空间将以某种方式分散。这会影响我mmap()在此过程中可以做的最大尺寸吗?

使用的linux内核是2.6.27。共享内存对象的大小约为32MB。我试图访问mmap()由于没有足够的虚拟地址空间而导致此类共享内存对象失败的可能性。

linux mmap

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

如何使用 tf.nn.ctc_loss 计算所有空白序列的 CTC 损失?

手动计算包含所有空白的序列的 CTC 损失很简单。但是,我没有找到使用tf.nn.ctc_lossAPI做到这一点的方法。我错过了什么,或者tf.nn.ctc_loss实现缺少这个功能?当批处理中的几个序列没有输出符号时,此功能是必需的。

我在 github 上报告了这个,它被关闭了,没有答案。

环境:tf 1.3 版,CPU 版;蟒蛇 3.5/3.6; Win10/Ubuntu 16.04。

首先,我们从代码开始:

import tensorflow as tf
num_classes, batch_size, seq_len = 3, 1, 2
labels = tf.SparseTensor(indices=[[0,0]], values=[0], dense_shape=[1,1])
inputs = tf.zeros([seq_len, batch_size, num_classes])
loss = tf.nn.ctc_loss(labels, inputs, [seq_len])
print(tf.InteractiveSession().run(loss))
Run Code Online (Sandbox Code Playgroud)

tf.nn.ctc_loss 行为符合预期,并打印正确答案:1.09861231

问题一:

如何计算所有空白的序列的 ctc 损失?tf.nn.ctc_loss API 要求 values < num_labels,所以我们没有办法实现吗?如果我确实将上面示例中的值更改为 num_classes - 1(保留的空白 ID),则 tf.nn.ctc_loss 没有任何抱怨,并返回错误答案:0.81093025!正确答案是 2*log(3)。重现问题一的代码如下:

import tensorflow as tf
num_classes, batch_size, seq_len = 3, 1, 2
labels = tf.SparseTensor(indices=[[0,0]], values=[2], …
Run Code Online (Sandbox Code Playgroud)

tensorflow

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

在 Beam 中读写序列化的 protobuf

我想将序列化的 protobuf 消息的 PCollection 写入文本文件并读回应该很容易。但经过几次尝试后我未能成功。如果有人有任何意见,将不胜感激。

// definition of proto.

syntax = "proto3";
package test;
message PhoneNumber {
  string number = 1;
  string country = 2;
}
Run Code Online (Sandbox Code Playgroud)

我有下面的 python 代码,它实现了一个简单的 Beam 管道,用于将文本写入序列化的 protobuf。

# Test python code
import apache_beam as beam
from apache_beam.options.pipeline_options import PipelineOptions
import phone_pb2

class ToProtoFn(beam.DoFn):
  def process(self, element):
    phone = phone_pb2.PhoneNumber()
    phone.number, phone.country = element.strip().split(',')
    yield phone.SerializeToString()

with beam.Pipeline(options=PipelineOptions()) as p:
  lines = (p 
      | beam.Create(["123-456-789,us", "345-567-789,ca"])
      | beam.ParDo(ToProtoFn())
      | beam.io.WriteToText('/Users/greeness/data/phone-pb'))
Run Code Online (Sandbox Code Playgroud)

管道可以成功运行并生成一个包含内容的文件:

$ cat ~/data/phone-pb-00000-of-00001 


123-456-789us


345-567-789ca …
Run Code Online (Sandbox Code Playgroud)

python protocol-buffers apache-beam apache-beam-io

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

Q-Learning与神经网络相结合(奖励理解)

就我的理解而言,可以通过神经网络替换Q值(状态 - 动作 - 对 - 评估)的查找表来估计这些状态 - 动作对.我编写了一个小型库,它能够通过一个自建的神经网络进行传播和反向传播,以便为某个输出内容学习所需的目标值.

所以我在google搜索时也发现了这个网站,并在网上搜索(就像我觉得的那样):http://www.cs.indiana.edu/~gasser/Salsa/nn.html Q-learning结合的地方很快解释了一个神经网络.

对于每个动作,都有一个额外的输出神经元,这些输出 - "单位"之一的激活值告诉我,估计的Q值.(一个问题:激活值是否与神经元的"输出"相同或不同?)

我使用标准sigmoid函数作为激活函数,因此函数值x的范围是

0<x<1
Run Code Online (Sandbox Code Playgroud)

所以我想,我的目标值应该始终从0.0到1.0 - >问题:我的理解是否正确?或者我错过了解一些事情?

如果是,则存在以下问题:计算目标奖励/新Q值的等式是:q(s,a)= q(s,a)+学习率*(奖励+折扣因子*q'(s,a ) - q(s,a))

那么如果目标应该从0.0到1.0,我如何执行这个等式来获得神经网络的正确目标?我如何计算良好的奖励价值?走向目标更值得,而不是远离它?(接近目标时更多+奖励而不是更远距离目标的奖励?)

我想我的一些误解.我希望,你可以帮助我回答这些问题.非常感谢你!

artificial-intelligence reinforcement-learning neural-network

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

多层感知器的激活功能

我试图用这个xor函数训练简单的反向传播神经网络.当我使用tanh(x)激活函数时,使用导数1-tanh(x)^2,我在大约1000次迭代后得到正确的结果.但是,当我g(x) = 1/(1+e^(-x))用作激活函数时,使用导数g(x)*(1-g(x)),我需要大约50000次迭代才能得到正确的结果.可能是什么原因?

谢谢.

machine-learning perceptron backpropagation neural-network

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

MySQL在索引的TIMESTAMP列上使用filesort

我有一个拒绝使用索引的表,它总是使用filesort.

该表是:

CREATE TABLE `article` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `Category_ID` int(11) DEFAULT NULL,
  `Subcategory` int(11) DEFAULT NULL,
  `CTimestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `Publish` tinyint(4) DEFAULT NULL,
  `Administrator_ID` int(11) DEFAULT NULL,
  `Position` tinyint(4) DEFAULT '0',
  PRIMARY KEY (`ID`),
  KEY `Subcategory` (`Subcategory`,`Position`,`CTimestamp`,`Publish`),
  KEY `Category_ID` (`Category_ID`,`CTimestamp`,`Publish`),
  KEY `Position` (`Position`,`Category_ID`,`Publish`),
  KEY `CTimestamp` (`CTimestamp`),
  CONSTRAINT `article_ibfk_1` FOREIGN KEY (`Category_ID`) REFERENCES `category` (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=94290 DEFAULT CHARSET=utf8

查询是:

SELECT * FROM article ORDER BY `CTimestamp`;

解释是:

+----+-------------+---------+------+---------------+------+---------+------+-------+----------------+
| id | select_type | …

mysql indexing timestamp

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

一个项目中允许的最大数据集数

我可以在一个BigQuery项目中创建多少个数据集?我没有在文件中提到的任何地方找到这个限制.

我问这个是因为我想每天创建一个数据集.在每日数据集下,将使用每日数据创建相同数量的表.例如,

dataset_20121101
   - table1
   - table2
dataset_20121102
   - table1
   - table2
...
dataset_201XXXXX
   - table1
   - table2
Run Code Online (Sandbox Code Playgroud)

此外,如果我想对一系列数据集进行查询,我是否可以做一些比从每个数据集中明确选择更好的方法?例如,

select date, sum(price) from 
 dateset_20121101.table1, 
 dateset_20121102.table1,
 dateset_20121103.table1,
 dateset_20121104.table1
 group by date order by date
Run Code Online (Sandbox Code Playgroud)

我猜不是,但试着确认一下.

谢谢.

sql google-bigquery

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

如何在xpages中添加样式表来形成标签

我需要添加StyleClass到生成的表单标记xPages.

我不知道是否可以在新主题中更改此控件但我只需要xPage在我的应用程序中使用一个,这是生成的代码:

<form id="view:_id1" method="post" action="/blabla.nsf/index.xsp" 
class="xspForm" enctype="multipart/form-data">
Run Code Online (Sandbox Code Playgroud)

我需要这个修改类,例如:

<form id="view:_id1" method="post" action="/blabla.nsf/index.xsp" 
class="newclass otherclass" enctype="multipart/form-data">
Run Code Online (Sandbox Code Playgroud)

xpages

3
推荐指数
2
解决办法
895
查看次数

如何获得学生成绩单的排名?

我在CouchDB中的文档结构如下所示:

{
 "_id": "0a68cdbe4a7f3abf4046bc",
 "_rev": "1-1508",
 "score": {"math":90, "physics": 88, "chemistry": 60},
 "student_name": "Mike"
}
Run Code Online (Sandbox Code Playgroud)

我需要在前端显示以下统计信息以设置学生的个人资料:

  • 鉴于学生_id,我如何在每门课程中检索学生的等级;
  • 鉴于学生_id,我如何检索学生的总分(数学+物理+化学).

假设我只有2名学生,第二名学生的记录如下:

{
 "_id": "0a68cdbe2344a3abf4046bc",
 "_rev": "1-1608",
 "score": {"math":80, "physics": 98, "chemistry": 90},
 "student_name": "Jane"
}
Run Code Online (Sandbox Code Playgroud)

所以迈克的排名应该是:

math: 1
physics: 2
chemistry: 2
total: 2
Run Code Online (Sandbox Code Playgroud)

和Jane的排名应该是

math: 2
physics: 1
chemistry: 1
total: 1
Run Code Online (Sandbox Code Playgroud)

如果我没有明确说明问题,请告诉我.

我没有想出创建视图以获得排名的方法.我尝试过的:

  • 创建将分数映射到学生信息的视图.然后我可以查询分数范围,让学生得分在该范围内.

编辑:用户名查询和排名检索的功能不需要仅由视图实现.欢迎任何想法!

Edit2:课程数量为1K到3K.学生人数将在1M到2M之间.

algorithm couchdb mapreduce ranking

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