我已经在7批样品的多批次上训练了一个LSTM模型(用Keras和TF构建),每个样品有3个特征,下面的样本形状类似(下面的数字只是占位符以便解释),每个批次标记为0或1:
数据:
[
[[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3]]
[[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3]]
[[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3]]
...
]
Run Code Online (Sandbox Code Playgroud)
即:m个序列的批次,每个长度为7,其元素是三维向量(因此批次具有形状(m*7*3))
目标:
[
[1]
[0]
[1]
...
]
Run Code Online (Sandbox Code Playgroud)
在我的生产环境中,数据是具有3个特征([1,2,3],[1,2,3]...)的样本流.我希望在每个样本到达我的模型时流式传输并获得中间概率而不等待整个批次(7) - 请参阅下面的动画.
我的一个想法是用缺少的样本填充批处理0,
[[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[1,2,3]]但这似乎是低效的.
我将非常感谢任何帮助,这些帮助将指引我以持久的方式保存LSTM中间状态,同时等待下一个样本并预测使用部分数据训练特定批量大小的模型.
更新,包括型号代码:
opt = optimizers.Adam(lr=0.001, beta_1=0.9, beta_2=0.999, epsilon=10e-8, decay=0.001)
model = Sequential()
num_features = data.shape[2]
num_samples = data.shape[1]
first_lstm = LSTM(32, batch_input_shape=(None, num_samples, num_features), return_sequences=True, activation='tanh')
model.add(
first_lstm)
model.add(LeakyReLU())
model.add(Dropout(0.2))
model.add(LSTM(16, return_sequences=True, activation='tanh'))
model.add(Dropout(0.2))
model.add(LeakyReLU())
model.add(Flatten())
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer=opt,
metrics=['accuracy', keras_metrics.precision(), keras_metrics.recall(), f1])
Run Code Online (Sandbox Code Playgroud)
型号摘要:
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
lstm_1 (LSTM) …Run Code Online (Sandbox Code Playgroud) 概述(简化):
在我的NodeJS服务器中,我实现了以下GraphQL架构:
type Item {
name: String,
value: Float
}
type Query {
items(names: [String]!): [Item]
}
Run Code Online (Sandbox Code Playgroud)
然后客户端查询传递一个名称数组作为参数:
{
items(names: ["total","active"] ) {
name
value
}
}
Run Code Online (Sandbox Code Playgroud)
后端API查询mysql DB,查看" total "和" active "字段(我的数据库表上的列)并减少响应,如下所示:
[{"name":"total" , value:100} , {"name":"active" , value:50}]
Run Code Online (Sandbox Code Playgroud)
我想我的graphQL API支持"比例"项目,IE:我想发送以下查询:
{
items(names: ["ratio"] ) {
name
value
}
}
Run Code Online (Sandbox Code Playgroud)
要么
{
items(names: ["total","active","ratio"] ) {
name
value
}
}
Run Code Online (Sandbox Code Playgroud)
并返回active/total作为该新字段([{"name":"ratio" , value:0.5}])的计算结果.以不同方式处理" 比率 "字段的通用方法是什么?
它应该是我的架构中的新类型还是应该在reducer中实现逻辑?
使用皮马印第安人糖尿病数据集我正在尝试使用Keras建立一个准确的模型.我写了以下代码:
# Visualize training history
from keras import callbacks
from keras.layers import Dropout
tb = callbacks.TensorBoard(log_dir='/.logs', histogram_freq=10, batch_size=32,
write_graph=True, write_grads=True, write_images=False,
embeddings_freq=0, embeddings_layer_names=None, embeddings_metadata=None)
# Visualize training history
from keras.models import Sequential
from keras.layers import Dense
import matplotlib.pyplot as plt
import numpy
# fix random seed for reproducibility
seed = 7
numpy.random.seed(seed)
# load pima indians dataset
dataset = numpy.loadtxt("pima-indians-diabetes.csv", delimiter=",")
# split into input (X) and output (Y) variables
X = dataset[:, 0:8]
Y = dataset[:, 8] …Run Code Online (Sandbox Code Playgroud) 在实施机器学习模型之前,我正在预处理我的数据。某些特征具有高基数,例如国家/地区和语言。
由于将这些特征编码为 one-hot-vector 可以产生稀疏数据,我决定研究散列技巧并使用 python 的 category_encoders 像这样:
from category_encoders.hashing import HashingEncoder
ce_hash = HashingEncoder(cols = ['country'])
encoded = ce_hash.fit_transform(df.country)
encoded['country'] = df.country
encoded.head()
Run Code Online (Sandbox Code Playgroud)
查看结果时,我可以看到碰撞
col_0 col_1 col_2 col_3 col_4 col_5 col_6 col_7 country
0 0 0 1 0 0 0 0 0 US <??
1 0 1 0 0 0 0 0 0 CA. ? US and SE collides
2 0 0 1 0 0 0 0 0 SE <??
3 0 0 0 0 0 0 …Run Code Online (Sandbox Code Playgroud) 我创建了以下SVG图标:
<svg width="32" height="32" viewBox="0 0 32 32">
<defs>
<g id="chat">
<path d="M29.75 0.398h-27.5c-1.036 0-1.875 0.839-1.875 1.875v18.344c0 1.036 0.839 1.875 1.875 1.875h17.626l-0.032-2.813h-15.313c-1.036 0-1.875-0.839-1.875-1.875v-13.375c0-1.036 0.839-1.875 1.875-1.875h22.938c1.036 0 1.875 0.839 1.875 1.875v13.375c0 1.036-0.839 1.875-1.875 1.875h-4.764l-1.432 2.813h8.477c1.036 0 1.875-0.839 1.875-1.875v-18.344c0-1.036-0.839-1.875-1.875-1.875z"/>
<path d="M19.906 25.177l-0.032-2.867-1.321-0.002 0.103 9.169 4.664-9.162-1.955-0.003z"/>
<path d="M19.594 6.945c0 0.656-0.532 1.188-1.188 1.188h-11.063c-0.656 0-1.188-0.532-1.188-1.188v0c0-0.656 0.532-1.188 1.188-1.188h11.063c0.656 0 1.188 0.532 1.188 1.188v0z"/>
<path d="M25 6.945c0 0.656-0.532 1.188-1.188 1.188h-1c-0.656 0-1.188-0.532-1.188-1.188v0c0-0.656 0.532-1.188 1.188-1.188h1c0.656 0 1.188 0.532 1.188 1.188v0z"/>
</g>
<g id="search">
<path d="M20.337 0c-6.303 0-11.432 5.13-11.432 11.432 …Run Code Online (Sandbox Code Playgroud) 使用AngularJS + Express我有以下代码将我的请求代理到远程服务:
app.get('/api.json', function (req, res) {
req.pipe(request("http://test-api.com/api.json")).pipe(res);
});
app.post('/api.json', function (req, res) {
req.pipe(request.post("http://test-api.com/api.json")).pipe(res);
});
Run Code Online (Sandbox Code Playgroud)
所有GET请求都正常,但POST请求在我的浏览器中处于待处理状态.
我发布的方式如下:
$http({
method: 'POST',
url: '/api.json',
data: $.param({
"title": not.title,
"desc": not.description
}), // pass in data as strings
headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
}).success(function () {alert("Success");});
Run Code Online (Sandbox Code Playgroud)
怎么了?
编辑:
这是在控制台上看到的请求:

我应该检查什么来提供更多信息?
我已将Parse Framework与所有Facebook依赖项集成到我的应用程序中.我的plist配置如下所示:
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>fbXXXXXXXXXXXXX</string>
</array>
</dict>
</array>
<key>FacebookAppID</key>
<string>XXXXXXXXXXXXX</string>
<key>FacebookDisplayName</key>
<string>XXXXX</string>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>facebook.com</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSExceptionRequiresForwardSecrecy</key>
<false/>
</dict>
<key>fbcdn.net</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSExceptionRequiresForwardSecrecy</key>
<false/>
</dict>
<key>akamaihd.net</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSExceptionRequiresForwardSecrecy</key>
<false/>
</dict>
</dict>
</dict>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fbauth2</string>
</array>
Run Code Online (Sandbox Code Playgroud)
我的登录代码如下所示:
PFFacebookUtils.logInInBackgroundWithReadPermissions(permissionsArray, block: { (user, error) -> Void in
if(error != nil){
print("Login failed")
}else{
if let currentUser = user{
if(currentUser.isNew){
print("New user")
}else{
print("Login success")
}
}else{
print("Login canceled")
}
}
})
Run Code Online (Sandbox Code Playgroud)
一切正常,但登录过程在Safari中完成,而不是在已安装的Facebook应用程序中完成. …
我正在尝试在IOS 上实现mod_verto(从iPhone调用到桌面).我正在使用Google的libjingle库用于RTC端,使用这个优秀的教程完成并运行.
如果我使用2个浏览器窗口(使用Verto Communicator)进行呼叫,则一切正常.
完全披露,我使用ws://不安全的websocket连接到FreeSwitch
这是我的JSONRPC日志:
发送登录请求:
{"jsonrpc":"2.0","method":"login","id":1,"params":{"login":"1000@MY-IP-ADDRESS","loginParams":{},"userVariables":{},"passwd":"1234","sessid":"53FB0781-B586-4CDA-98C6-558680663B46"}}
Run Code Online (Sandbox Code Playgroud)
登录响应:
{"jsonrpc":"2.0","id":1,"result":{"message":"logged in","sessid":"53FB0781-B586-4CDA-98C6-558680663B46"}}
Run Code Online (Sandbox Code Playgroud)
verto.invite(包括iPhone sdp):
{"jsonrpc":"2.0","method":"verto.invite","id":2,"params":{"dialogParams":{"remote_caller_id_number":"1008","useVideo":false,"useMic":"any","useStereo":false,"tag":"webcam","login":"1000@159.203.164.7","useCamera":"any","videoParams":{"minFrameRate":30,"minWidth":"1280","minHeight":"720"},"destination_number":"1008","screenShare":false,"caller_id_name":"FreeSWITCH User","caller_id_number":"1000","callID":"0CD433FC-A909-4DF2-BC46-0A4A94E9B800","remote_caller_id_name":"Outbound Call","useSpeak":"any"},"sessid":"53FB0781-B586-4CDA-98C6-558680663B46","sdp":"v=0\r\no=- 8564086442942257834 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE audio video\r\na=msid-semantic: WMS\r\nm=audio 58157 UDP\/TLS\/RTP\/SAVPF 111 103 104 9 102 0 8 106 105 13 127 126\r\nc=IN IP4 82.166.93.197\r\na=rtcp:52576 IN IP4 82.166.93.197\r\na=candidate:3168280865 1 udp 2122260223 11.0.0.244 58157 typ host generation 0\r\na=candidate:1260196625 1 udp 2122194687 10.134.172.254 58951 typ host generation 0\r\na=candidate:3168280865 2 udp …Run Code Online (Sandbox Code Playgroud) 我在Jupyter笔记本中运行以下代码:
# Visualize training history
from keras.models import Sequential
from keras.layers import Dense
import matplotlib.pyplot as plt
import numpy
# fix random seed for reproducibility
seed = 7
numpy.random.seed(seed)
# load pima indians dataset
dataset = numpy.loadtxt("pima-indians-diabetes.csv", delimiter=",")
# split into input (X) and output (Y) variables
X = dataset[:,0:8]
Y = dataset[:,8]
# create model
model = Sequential()
model.add(Dense(12, input_dim=8, kernel_initializer='uniform', activation='relu'))
model.add(Dense(8, kernel_initializer='uniform', activation='relu'))
model.add(Dense(1, kernel_initializer='uniform', activation='sigmoid'))
# Compile model
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
# Fit the model
history …Run Code Online (Sandbox Code Playgroud) 我为MNISTdb 编写了以下简单的MLP网络.
from __future__ import print_function
import keras
from keras.datasets import mnist
from keras.models import Sequential
from keras.layers import Dense, Dropout
from keras import callbacks
batch_size = 100
num_classes = 10
epochs = 20
tb = callbacks.TensorBoard(log_dir='/Users/shlomi.shwartz/tensorflow/notebooks/logs/minist', histogram_freq=10, batch_size=32,
write_graph=True, write_grads=True, write_images=True,
embeddings_freq=10, embeddings_layer_names=None,
embeddings_metadata=None)
early_stop = callbacks.EarlyStopping(monitor='val_loss', min_delta=0,
patience=3, verbose=1, mode='auto')
# the data, shuffled and split between train and test sets
(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train = x_train.reshape(60000, 784)
x_test = x_test.reshape(10000, 784)
x_train …Run Code Online (Sandbox Code Playgroud) keras ×4
python ×4
tensorflow ×3
ios ×2
node.js ×2
angularjs ×1
data-science ×1
express ×1
external ×1
facebook ×1
freeswitch ×1
graphql ×1
html ×1
icons ×1
lstm ×1
mnist ×1
mod-verto ×1
mysql ×1
oauth-2.0 ×1
prediction ×1
proxy ×1
reducers ×1
request ×1
schema ×1
stateful ×1
svg ×1
swift ×1
tensorboard ×1
voip ×1
web ×1
webrtc ×1