小编Shl*_*rtz的帖子

有状态LSTM和流预测

我已经在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)

python stateful lstm keras tensorflow

13
推荐指数
2
解决办法
1336
查看次数

GraphQL - 返回依赖于参数的计算类型

概述(简化):

在我的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中实现逻辑?

mysql schema reducers node.js graphql

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

如何避免在简单的前馈网络上过度拟合

使用皮马印第安人糖尿病数据集我正在尝试使用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)

machine-learning prediction keras tensorflow

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

了解 FeatureHasher、碰撞和向量大小的权衡

在实施机器学习模型之前,我正在预处理我的数据。某些特征具有高基数,例如国家/地区和语言。

由于将这些特征编码为 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)

python machine-learning data-science

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

我可以包含外部SVG defs

我创建了以下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)

html icons svg external web

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

AngularJS + ExpressJS.代理POST请求正在等待处理

使用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)

怎么了?

编辑: 这是在控制台上看到的请求: 在此输入图像描述

我应该检查什么来提供更多信息?

proxy request node.js express angularjs

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

IOS 9 Swift - Parse Facebook登录无法打开原生Facebook App

我已将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应用程序中完成. …

facebook ios oauth-2.0 parse-framework swift

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

WebRTC + IOS + Freeswitch:听不到音频

我正在尝试在IOS 上实现mod_verto(从iPhone调用到桌面).我正在使用Google的libjingle库用于RTC端,使用这个优秀的教程完成并运行.

  • 从我的iPhone拨打电话时,我使用Verto Communicator(在本地计算机上下载并运行)在桌面浏览器上接听电话.
  • 在iPhone方面,我可以听到桌面上的音频,但桌面方面没有任何声音.
  • 如果我使用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)

voip freeswitch ios webrtc mod-verto

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

Keras + TensorFlow实时培训图表

我在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)

python machine-learning keras tensorflow jupyter-notebook

10
推荐指数
2
解决办法
6144
查看次数

Keras - 保存mnist数据集的图像嵌入

我为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)

python mnist deep-learning keras tensorboard

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