在我之前的问题中,我使用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服务.
我的预处理执行字符串标记化并使用外部字典将每个标记转换为索引以输入到嵌入层:
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) 我试图使用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) 使用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) 我想将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()每一列的情况下应用相同的格式吗?
tensorflow ×3
java ×2
keras ×2
python ×2
python-2.7 ×2
keras-layer ×1
mongodb ×1
pmml ×1
repository ×1
spring ×1
spring-data ×1
xlsxwriter ×1