我正在阅读这篇文章(The Unreasonable Effectiveness of Recurrent Neural Networks),想了解如何在 Keras 中表达一对一、一对多、多对一和多对多 LSTM 神经网络. 我已经阅读了很多关于 RNN 并了解 LSTM NN 的工作原理,特别是消失梯度、LSTM 单元、它们的输出和状态、序列输出等。但是,我无法在 Keras 中表达所有这些概念。
首先,我使用 LSTM 层创建了以下玩具神经网络
from keras.models import Model
from keras.layers import Input, LSTM
import numpy as np
t1 = Input(shape=(2, 3))
t2 = LSTM(1)(t1)
model = Model(inputs=t1, outputs=t2)
inp = np.array([[[1,2,3],[4,5,6]]])
model.predict(inp)
Run Code Online (Sandbox Code Playgroud)
输出:
array([[ 0.0264638]], dtype=float32)
Run Code Online (Sandbox Code Playgroud)
在我的示例中,我的输入形状为 2 x 3。据我所知,这意味着输入是 2 个向量的序列,每个向量具有 3 个特征,因此我的输入必须是 shape 的 3D 张量(n_examples, 2, 3)。在'sequences'方面,输入是一个长度为2的序列,该序列中的每个元素用3个特征表示(如有错误请指正)。当我打电话predict它时,它会返回一个带有单个标量的 2 维张量。所以,
Q1:是一对一的还是其他类型的LSTM网络?
当我们说“一个/多个输入和一个/多个输出”时
Q2:我们所说的“一个/多个输入/输出”是什么意思?“一个/多个”标量、向量、序列……,一个/多个什么? …
假设我想创建一个没有自行注册的模型用户.我创建了User模型并添加了以下行
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
Run Code Online (Sandbox Code Playgroud)
在我的routes.db文件中,我跳过注册
devise_for :users, skip: :registrations
Run Code Online (Sandbox Code Playgroud)
当我运行rake routes注册路径消失.
但是,我可以:registerable从User模型中删除相同的配置,而不是添加`skip :: registrations.
所以问题是:两种消除自我注册的方式之间的主要区别是什么?哪个更优选?
我按照https://ctors.net/2015/07/14/solr5_java8_debian8上的说明进行操作.
作为根
首先我安装了Java 8:
mkdir -p /opt/java
wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u45-b14/jdk-8u45-linux-x64.tar.gz"
tar xvf jdk-8u45-linux-x64.tar.gz -C /opt/java
update-alternatives --install /usr/bin/java java /opt/java/jdk1.8.0_45/bin/java 1
update-alternatives --set java /opt/java/jdk1.8.0_45/bin/java
Run Code Online (Sandbox Code Playgroud)
然后我安装了Solr:
wget http://apache.belnet.be/lucene/solr/5.2.1/solr-5.2.1.tgz
tar xvf solr-5.2.1.tgz
./solr-5.2.1/bin/install_solr_service.sh solr-5.2.1.tgz
Run Code Online (Sandbox Code Playgroud)
但安装最终会出现以下错误消息:
solr.service - LSB: Controls Apache Solr as a Service
Loaded: loaded (/etc/init.d/solr)
Active: failed (Result: exit-code) since Wed 2015-11-18 02:29:36 TMT; 5s ago
Process: 1679 ExecStart=/etc/init.d/solr start (code=exited, status=1/FAILURE)
Nov 18 02:29:36 solrhost su[1681]: Successful su for solr …Run Code Online (Sandbox Code Playgroud) 运行时,solana-test-validator它会开始一个新进程,并输出以下内容:
Ledger location: test-ledger\nLog: test-ledger/validator.log\nIdentity: 4876NsAf6yH8c7uPXybETZPit142i2QhR7tfSoTPYjHf\nGenesis Hash: CrqeHuGVmgHL54Sri7dEm2aCRLFopJrTHoQBYe6ciF7N\nVersion: 1.8.17\nShred Version: 28931\nGossip Address: 127.0.0.1:1024\nTPU Address: 127.0.0.1:1027\nJSON RPC URL: http://127.0.0.1:8899\n\xe2\xa0\x84 01:44:22 | Processed Slot: 48335 | Confirmed Slot: 48335 | Finalized Slot: 483\nRun Code Online (Sandbox Code Playgroud)\n我明白:
\n我还阅读了 Solana 集群、验证器、插槽、纪元文档。\n它说
\nSlot: The period of time for which each leader ingests transactions and produces a block.\nRun Code Online (Sandbox Code Playgroud)\n有人能解释一下当我们跑步时会发生什么吗solana-test-validator?特别是,它会产生区块/分类帐条目吗?从它不断显示的内容来看\n \xe2\xa0\x84 01:44:22 | Processed Slot: 48335 | Confirmed Slot: 48335 | …