小编Sil*_*ear的帖子

使用神经网络进行Q学习

我正在尝试为乒乓球游戏实现Deep q学习算法。我已经使用表格作为Q函数实现了Q学习。它工作得很好,并学会了如何在10分钟内击败天真的AI。但是我无法使用神经网络作为Q函数逼近器来使其工作。

我想知道自己是否走在正确的轨道上,所以以下是我在做什么的摘要:

  • 我将当前状态,已采取的行动和奖励作为当前体验存储在重播内存中
  • 我将多层感知器用作Q函数,其中1个隐藏层具有512个隐藏单元。对于输入->隐藏层,我正在使用S型激活函数。对于隐藏->输出层,我正在使用线性激活函数
  • 状态由球员和球的位置以及球的速度表示。位置被重新映射到一个较小的状态空间。
  • 我正在使用epsilon-greedy方法来探索epsilon逐渐下降到0的状态空间。
  • 学习时,随机选择32个后续经验。然后,我为所有当前状态和操作Q(s,a)计算目标q值。

    forall Experience e in batch if e == endOfEpisode target = e.getReward else target = e.getReward + discountFactor*qMaxPostState end

现在,我有一组32个目标Q值,我正在使用批梯度下降法用这些值训练神经网络。我只是在做1个训练步骤。我应该怎么做?

我正在用Java编程,并将Encog用于多层感知器实现。问题在于培训非常缓慢,性能很弱。我想我缺少了一些东西,但是找不到。我希望至少会有一个不错的结果,因为表格方法没有问题。

artificial-intelligence neural-network q-learning encog deep-learning

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

Cassandra Spark 写入速度慢

我正在使用 Spark Cassandra 连接器和 python 中的数据帧制作一个小型 Spark 应用程序,但写入速度极低。当我查看应用程序日志时,它显示:

17/03/28 20:04:05 INFO TableWriter: Wrote 315514 rows to movies.moviescores in 662.134 s.    
Run Code Online (Sandbox Code Playgroud)

大约每秒 474 行。

我正在将 Cassandra 中的一些数据读入表中,然后对它们进行一些操作(这也使集合变得更大)。然后我将结果写回 cassandra(大约 5000 万行):

result.write.format("org.apache.spark.sql.cassandra").mode('append').options(table="moviescores", keyspace="movies").save()
Run Code Online (Sandbox Code Playgroud)

其中结果是数据框。

如果重要的话,这是我的密钥空间的创建:

CREATE KEYSPACE IF NOT EXISTS movies WITH REPLICATION = { \'class\' : \'NetworkTopologyStrategy\', \'datacenter1\' : 3 };
Run Code Online (Sandbox Code Playgroud)

我正在写的表:

CREATE TABLE IF NOT EXISTS movieScores(movieId1 int, movieId2 int, score int, PRIMARY KEY((movieId1, movieId2)));
Run Code Online (Sandbox Code Playgroud)

我的设置如下:我有 5 个 Spark 工作线程在 Docker 容器中运行,每个容器都在运行 CoreOS 的不同节点上,具有 2 GB RAM 和在 Digitalocean 上运行的 …

python performance cassandra apache-spark apache-spark-sql

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

Google 静态地图 API 比例和大小

我对谷歌静态地图 API 的新计费模型有点困惑。以前,您需要高级计划 API 来请求大于 640 x 480 的图像。采用新的即用即付定价模式(截至 7 月 16 日),您是否还需要高级计划才能获得更大尺寸图像,或者我可以启用计费并请求这些更大的图像吗?我启用了计费并使用签名 URL 来获取 2000x2000 像素的图像 (scale=1),但当我返回 640x480 的图像时它不起作用。我是否遗漏了什么,或者我是否仍然需要高级计划才能实现这一目标?

google-maps google-maps-static-api google-cloud-platform

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

AttributeError:模块“ssl”没有属性“PROTOCOL_TLSv1_3”

我正在尝试在 python 中设置 tls 上下文。我想使用 TLSv1.3 强制:

context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_3)
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为我收到以下错误:

AttributeError: module 'ssl' has no attribute 'PROTOCOL_TLSv1_3'
Run Code Online (Sandbox Code Playgroud)

我使用的是 Ubuntu 20.04,使用的是 python 版本 3.8 和 openssl 版本 1.1.1f。

为什么不支持 TLSv1.3?

python ssl tls1.3

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

使用 REST 将数据发送到 Azure IoT 中心

我正在尝试学习 Azure IoT 中心,但无法使用 Postman 将数据发送到我的 IoT 中心。我做了以下事情:

  • 创建 Azure IoT 中心
  • 使用 Azure 门户 CLI 创建设备
  • 复制设备页面上显示“主键”的文本

我的请求如下所示:

发布https://myhub.azure-devices.net/devices/MyDevice/messages/events?api-version=2020-03-13

我添加了授权标头,其值为: SharedAccessSignature=SharedAccessSignature sr=myhub.azure-devices.net%2Fdevices%2FMyDevice&sig=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

其中密钥是从设备页面的“主密钥”字段复制的文本。

内容类型设置为 application/json。但目前身体已经空了。

我收到以下回复:

"消息": "错误代码:服务器错误;内部服务器错误",

注意:集线器和设备名称与此处所述不同。

rest azure azure-iot-hub

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