小编Qul*_*ulu的帖子

如何设置具有Tensorflow张量的Keras层的输入?

在我之前的问题中,我使用Layer.set_input()Keras ' 将我的Tensorflow预处理输出张量连接到我的Keras模型的输入.但是,此方法已在Keras版本之后删除1.1.1.

如何在较新的Keras版本中实现这一目标?

例:

# Tensorflow pre-processing
raw_input = tf.placeholder(tf.string)
### some TF operations on raw_input ###
tf_embedding_input = ...    # pre-processing output tensor

# Keras model
model = Sequential()
e = Embedding(max_features, 128, input_length=maxlen)

### THIS DOESN'T WORK ANYMORE ###
e.set_input(tf_embedding_input)
################################

model.add(e)
model.add(LSTM(128, activation='sigmoid'))
model.add(Dense(num_classes, activation='softmax'))
Run Code Online (Sandbox Code Playgroud)

keras tensorflow keras-layer

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

将Tensorflow预处理添加到现有Keras模型(用于Tensorflow服务)

我想在我导出的Keras模型中包含我的自定义预处理逻辑,以用于Tensorflow服务.

我的预处理执行字符串标记化并使用外部字典将每个标记转换为索引以输入到嵌入层:

from keras.preprocessing import sequence

token_to_idx_dict = ... #read from file

# Custom Pythonic pre-processing steps on input_data
tokens = [tokenize(s) for s in input_data]
token_idxs = [[token_to_idx_dict[t] for t in ts] for ts in tokens]
tokens_padded = sequence.pad_sequences(token_idxs, maxlen=maxlen)
Run Code Online (Sandbox Code Playgroud)

模型架构和培训:

model = Sequential()
model.add(Embedding(max_features, 128, input_length=maxlen))
model.add(LSTM(128, activation='sigmoid'))
model.add(Dense(n_classes, activation='softmax'))
model.compile(loss='sparse_categorical_crossentropy', optimizer='adam')

model.fit(x_train, y_train)
Run Code Online (Sandbox Code Playgroud)

由于该模型将用于Tensorflow服务,我想将所有预处理逻辑合并到模型本身(在导出的模型文件中编码).

问:我怎样才能使用Keras库?

我发现本指南解释了如何结合Keras和Tensorflow.但我仍然不确定如何将所有东西都作为一个模型出口.

我知道Tensorflow有内置的字符串拆分,文件I/O字典查找操作.

使用Tensorflow操作的预处理逻辑:

# Get input text
input_string_tensor = tf.placeholder(tf.string, shape={1})
# Split input text by …
Run Code Online (Sandbox Code Playgroud)

python keras tensorflow tensorflow-serving

15
推荐指数
2
解决办法
4230
查看次数

Tensorflow错误:"Tensor必须与Tensor相同的图表..."

我试图使用Tensorflow(版本0.9.0)以与初学者教程非常相似的方式训练一个简单的二元逻辑回归分类器,并且在拟合模型时遇到以下错误:

ValueError: Tensor("centered_bias_weight:0", shape=(1,), dtype=float32_ref) must be from the same graph as Tensor("linear_14/BiasAdd:0", shape=(?, 1), dtype=float32).
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

import tempfile
import tensorflow as tf
import pandas as pd

# Customized training data parsing
train_data = read_train_data()
feature_names = get_feature_names(train_data)
labels = get_labels(train_data)

# Construct dataframe from training data features
x_train = pd.DataFrame(train_data , columns=feature_names)
x_train["label"] = labels

y_train = tf.constant(labels)

# Create SparseColumn for each feature (assume all feature values are integers and either 0 or 1)
feature_cols = …
Run Code Online (Sandbox Code Playgroud)

python python-2.7 tensorflow

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

Apache Spark MLlib:如何从PMML导入模型

我有一个PMML文件,它编码一个不从MLlib导出的逻辑回归模型.

如何使用Java中的MLlib从PMML导入模型以进行评估/预测?

(我知道MLlib可以导出到PMML,但我需要从PMML导入)

java pmml apache-spark-mllib

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

Spring MongoDB使用带有元组数组的$ in查询不同的字段

使用MongoDB的最新Spring数据,我想检索集合中的所有记录,其字段(在我的情况下,两个)与给定的String对数组中的值匹配.

鉴于以下文档结构:

@Document(collection="persons")
@CompoundIndexes({
    @CompoundIndex(name="field_job_idx", def="{ 'field':1, 'job':1 }", unique=true)
})
class Person {
    String field;
    String job;
}
Run Code Online (Sandbox Code Playgroud)

给定以下存储库接口:

interface PersonRepository implements Repository<Person,Long> {
    @Query("{ 'field' : { $in : ?0 } }")
    List<Person> findAnyOfTheseFields(String[] fields);    //this is easy for searching in single-valued array of fields
    @Query("{ 'job' : { $in : ?0 } }")
    List<Person> findAnyOfTheseJobs(String[] jobs);        //this is easy for searching in single-valued array of jobs

    @Query(" WHAT GOES HERE? ")
    List<Person> findAnyOfTheseUniqueFieldAndJobPairs(/* ARRAY OF PAIRS OF …
Run Code Online (Sandbox Code Playgroud)

java spring repository mongodb spring-data

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

XlsxWriter:set_column()具有一种格式,用于多个非连续列

我想将Pandas数据框写入Excel,并使用一种格式将格式应用于多个单独的列(例如,A和C,但不包括B):

writer = pd.ExcelWriter(filepath, engine='xlsxwriter')
my_format = writer.book.add_format({'num_format': '#'})

writer.sheets['Sheet1'].set_column('A:A,C:C', 15, my_format)
Run Code Online (Sandbox Code Playgroud)

这将导致以下错误:

在column_wrapper中的文件“ ... / python2.7 / site-packages / xlsxwriter / worksheet.py”第114行

cell_1,cell_2 = [col +'1'for args [0] .split(':')中的col] ValueError:太多值无法解包

它不接受语法'A:A,C:C'。甚至可以在不调用set_column()每一列的情况下应用相同的格式吗?

python-2.7 xlsxwriter

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