小编gob*_*s14的帖子

Keras,我训练模型后如何预测?

我正在玩路透社示例数据集,它运行正常(我的模型已经过培训).我读到了如何保存模型,所以我可以稍后加载它再次使用.但是如何使用此保存的模型来预测新文本?我用models.predict()吗?

我是否必须以特殊方式准备此文本?

我试过了

import keras.preprocessing.text

text = np.array(['this is just some random, stupid text'])
print(text.shape)

tk = keras.preprocessing.text.Tokenizer(
        nb_words=2000,
        filters=keras.preprocessing.text.base_filter(),
        lower=True,
        split=" ")

tk.fit_on_texts(text)
pred = tk.texts_to_sequences(text)
print(pred)

model.predict(pred)
Run Code Online (Sandbox Code Playgroud)

但我总是得到

(1L,)
[[2, 4, 1, 6, 5, 7, 3]]
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-83-42d744d811fb> in <module>()
      7 print(pred)
      8 
----> 9 model.predict(pred)

C:\Users\bkey\Anaconda2\lib\site-packages\keras\models.pyc in predict(self, x, batch_size, verbose)
    457         if self.model is None:
    458             self.build()
--> 459         return self.model.predict(x, batch_size=batch_size, verbose=verbose)
    460 
    461     def predict_on_batch(self, x): …
Run Code Online (Sandbox Code Playgroud)

python theano deep-learning keras

72
推荐指数
4
解决办法
12万
查看次数

使用Keras和Tensorflow与AMD GPU

我开始学习Keras,我认为它是Tensorflow和Theano之上的一层.但是,我只能访问AMD GPU,例如AMD R9 280X.

如何设置我的Python环境,以便通过Keras/Tensorflow支持OpenCL来使用我的AMD GPU?

我在OSX上运行.

python opencl python-2.7 keras tensorflow

63
推荐指数
6
解决办法
9万
查看次数

像Qlik一样计算pandas数据帧中列中的唯一值?

如果我有这样的表格:

df = pd.DataFrame({
         'hID': [101, 102, 103, 101, 102, 104, 105, 101],
         'dID': [10, 11, 12, 10, 11, 10, 12, 10],
         'uID': ['James', 'Henry', 'Abe', 'James', 'Henry', 'Brian', 'Claude', 'James'],
         'mID': ['A', 'B', 'A', 'B', 'A', 'A', 'A', 'C']
})
Run Code Online (Sandbox Code Playgroud)

我可以count(distinct hID)在Qlik中为独特的hID计算出5的计数.我如何使用pandas数据框在python中做到这一点?或者也许是一个numpy阵列?同样,如果要这样做,count(hID)我会在Qlik得到8分.在熊猫中做同样的事情是什么?

python numpy qlikview pandas qliksense

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

允许用户创建和更改表?

我有一个当前的mysql用户,他拥有SELECT数据库中所有表的权限example.如何赋予该用户添加新表的权限,并将记录更改/添加到它创建的表中?

mysql

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

使用tf.Estimator创建的tensorflow上的图优化

背景:

我有一个基于tf.estimator.DNNClassifier的简单分类,它通过intent标签获取文本和输出概率.我能够训练将模型输出到可服务的以及使用tensorflow服务服务于服务.问题是这个可服务性太大(大约1GB),因此我想尝试一些张量流图变换来尝试减少所服务文件的大小.

问题:

我理解如何saved_model.pb使用和使用freeze_model.py来创建一个.pb可用于调用转换的新文件.这些转换的结果(.pb文件也是如此)不可用,不能与tensorflow服务一起使用.

开发者如何来自:

saved model -> graph transforms -> back to a servable
Run Code Online (Sandbox Code Playgroud)

文档表明这肯定是可能的,但从文档到关于如何做到这一点并不直观.

我试过的:

import tensorflow as tf

from tensorflow.saved_model import simple_save
from tensorflow.saved_model import signature_constants
from tensorflow.saved_model import tag_constants
from tensorflow.tools.graph_transforms import TransformGraph


with tf.Session(graph=tf.Graph()) as sess_meta:
    meta_graph_def = tf.saved_model.loader.load(
        sess_meta,
        [tag_constants.SERVING],
        "/model/path")

    graph_def = meta_graph_def.graph_def

    other_graph_def = TransformGraph(
        graph_def,
        ["Placeholder"],
        ["dnn/head/predictions/probabilities"],
        ["quantize_weights"])


    with tf.Graph().as_default(): …
Run Code Online (Sandbox Code Playgroud)

python tensorflow tensorflow-serving tensorflow-estimator

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

注意图层抛出TypeError:Permute图层不支持Keras中的屏蔽

我一直关注这篇文章,以便在我的LSTM模型上实现关注层.

代码attention layer:

INPUT_DIM = 2
TIME_STEPS = 20
SINGLE_ATTENTION_VECTOR = False
APPLY_ATTENTION_BEFORE_LSTM = False

def attention_3d_block(inputs):
    input_dim = int(inputs.shape[2])
    a = Permute((2, 1))(inputs)
    a = Reshape((input_dim, TIME_STEPS))(a)
    a = Dense(TIME_STEPS, activation='softmax')(a)
    if SINGLE_ATTENTION_VECTOR:
        a = Lambda(lambda x: K.mean(x, axis=1), name='dim_reduction')(a)
        a = RepeatVector(input_dim)(a)
    a_probs = Permute((2, 1), name='attention_vec')(a)
    output_attention_mul = merge(
        [inputs, a_probs],
        name='attention_mul',
        mode='mul'
    )
    return output_attention_mul
Run Code Online (Sandbox Code Playgroud)

我得到的错误:

文件"main_copy.py",第244行,在model = create_model(X_vocab_len,X_max_len,y_vocab_len,y_max_len,HIDDEN_DIM,LAYER_NUM)文件"main_copy.py",第189行,在create_model中attention_mul = attention_3d_block(temp)文件"main_copy.py" ",第124行,注意事项_3d_block a = Permute((2,1))(输入)文件"/root/.virtualenvs/keras_tf/lib/python3.5/site-packages/keras/engine/topology.py",行597,在调用 output_mask = self.compute_mask(inputs,previous_mask)文件"/root/.virtualenvs/keras_tf/lib/python3.5/site-packages/keras/engine/topology.py",第744行,在compute_mask str中( …

python lstm keras tensorflow attention-model

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

有没有办法在Hive中转置数据

这是我的表:

pid     high    medium    low
1       10      8         6
2       20      16        12
3       10      6         4
Run Code Online (Sandbox Code Playgroud)

我想将此数据存储在Hive中的另一个表中,格式如下:

pid      priority      value
1         high          10 
1         medium        8
1         low           6
2         high          20
2         medium        16
2         low           12
3         high          10
3         medium        6
3         low           4
Run Code Online (Sandbox Code Playgroud)

hadoop hive hiveql

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

收集到蜂巢中的地图

我有一个Hive表,如

id  |  value
-------------
A      1
A      2
B      3
A      4
B      5
Run Code Online (Sandbox Code Playgroud)

从本质上讲,我想模仿Python defaultdict(list)并创建一个带有id键和value值的地图.

查询:

select COLLECT_TO_A_MAP(id, value)
from table
Run Code Online (Sandbox Code Playgroud)

输出:

{A:[1,2,4], B:[3,5]}
Run Code Online (Sandbox Code Playgroud)

我尝试使用klout, CollectUDAF()但似乎这不会将值附加到数组,它只会更新它们.有任何想法吗?

编辑: 这是一个更详细的描述,所以我可以避免引用我在Hive文档中尝试函数的答案.假设我有一张桌子

num    |id    |value
____________________
1       A      1
1       A      2
1       B      3
2       A      4
2       B      5
2       B      6
Run Code Online (Sandbox Code Playgroud)

我正在寻找的是提供此输出的UDAF

num     |new_map
________________________
1       {A:[1,2], B:[3]}
2       {A:[4], B:[5,6]}
Run Code Online (Sandbox Code Playgroud)

对此查询

select num
      ,COLLECT_TO_A_MAP(id, value) as new_map
from table
group by …
Run Code Online (Sandbox Code Playgroud)

hadoop hive

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

在hive 0.13中没有找到类Kryo异常 - Hadoop

我有一个GenericUDF(见下面的代码)在Hadoop-1和Hive-0.12上正常运行.但是当使用Hive-0.13 + Hadoop-2测试相同的GenericUDF时,我收到以下错误.

顶点失败,vertexName = Map 12,vertexId = vertex_1409698731658_42202_1_00,diagnostics = [顶点输入:ccv初始化程序失败.,org.apache.hive.com.esotericsoftware.kry o.KryoException:无法找到类:com.xxx.xxx.Id1

这是我的UDF的代码.

package com.xxx.xxx;
import org.apache.hadoop.hive.*;

public class Id1 extends GenericUDF {
    private MapredContext context;
    private long sequenceNum = 0;
    private static final int padLength = 10;
    StringBuilder sb = null;

    public ObjectInspector initialize(ObjectInspector[] arguments)
            throws UDFArgumentException {
        sequenceNum = 0;
        sb = new StringBuilder();
        return PrimitiveObjectInspectorFactory.javaStringObjectInspector;
    }

    public Object evaluate(DeferredObject[] arguments) throws HiveException {
        int sbLength = sb.toString().length();
        if (sbLength > 0)
            sb.replace(0, sbLength, "");
        String taskId = …
Run Code Online (Sandbox Code Playgroud)

hadoop hive kryo

6
推荐指数
0
解决办法
579
查看次数

动态添加Edge visjs

谁能帮助我在此visjs网络中动态添加边缘?实际上,我正在尝试使用拖放将节点添加到画布,但是当我单击节点并将边缘动态添加到画布上存在的另一个节点时,我需要添加边缘的帮助。

vis.js

6
推荐指数
2
解决办法
6634
查看次数