我一直在与TensorFlow的构建器进行斗争,以便能够为我的html" target="_blank">模型服务,我试图在为模型服务后向我的分类器提供数据
我的问题是如何向模型提供输入?我看过Google的inception教程使用的代码
并试图实施它
classify_inputs_tensor_info = utils.build_tensor_info(
serialized_tf_example)
classes_output_tensor_info = utils.build_tensor_info(classes)
scores_output_tensor_info = utils.build_tensor_info(values)
classification_signature = signature_def_utils.build_signature_def(
inputs={
signature_constants.CLASSIFY_INPUTS: classify_inputs_tensor_info
},
outputs={
signature_constants.CLASSIFY_OUTPUT_CLASSES:
classes_output_tensor_info,
signature_constants.CLASSIFY_OUTPUT_SCORES:
scores_output_tensor_info
},
method_name=signature_constants.CLASSIFY_METHOD_NAME)
据我所知,输入被传递给一个名为serialized_tf_example的张量,顾名思义,该张量将输入序列化为string,但是他们使用我不理解的tf.fixedlenfeature,然后用tf.parse_example解析serialized_tf_example,并将其分配给模型中使用的x,但是我想将它解析给一个接受数组作为输入的分类器,但是不知道如何处理这个问题。
在尝试实现这个的时候,我写了这个
serialized_tf_example = tf.placeholder(tf.string, name='tf_example')
feature_configs = { 'audio/encoded': tf.FixedLenFeature( shape=[193], dtype=tf.float32, default_value=input_x),}
tf_example = tf.parse_example(serialized_tf_example, feature_configs)
x = tf_example['audio/encoded']
sess = tf.InteractiveSession()
sess.run(tf.global_variables_initializer())
# Define the dimensions in the feature columns
feature_columns = [tf.contrib.layers.real_valued_column("", dimension=5)]
classifier = tf.contrib.learn.DNNLinearCombinedClassifier(
dnn_feature_columns=feature_columns, dnn_hidden_units=[200,300], n_classes=10,
dnn_optimizer=tf.train.GradientDescentOptimizer(
learning_rate=0.01
)
)
#run training
classifier.fit(input_fn=get_train_inputs, steps=100)
#testing
accuracy_score = classifier.evaluate(input_fn=get_test_inputs, steps=10)["accuracy"]
print('Test accuracy : ', format(accuracy_score))
prediction = format(list(classifier.predict_classes(x, as_iterable=True)))
但是x是张量,所以不能被读取。当我尝试使用run或。eval()时,它要求我向serialized_tf_example提供一个值
InvalidArgumEnterRorr(参见上面的跟踪):您必须用dtype string为占位符张量'tf_example'提供一个值[[node:tf_example=placeholderdtype=dt_string,shape=[],_device=“/job:localhost/replica:0/task:0/cpu:0”]]
您可以/应该在没有tf.example的情况下使用classifier.predict。您的input_fn在train中,eval返回x,y。可以编写类似于其他输入函数的predict_input_fn。
predictoin = next(classifier.predict_classes(input_fn=predict_input_fn))
请注意,如果使用list
获得所有预测,函数应该以异常结束。您可以检查tf.estimator.inputs.numpy_input_fn
问题内容: 我正在尝试将此MNIST示例调整为二进制分类。 但是,改变我的时候,从到,损失函数总是返回0(和准确度1)。 我检查了两者的尺寸(馈入),并且它们都是1xN矩阵,因此问题似乎早于此。也许与矩阵乘法有关? 我实际上在一个真实的项目中也遇到了同样的问题,所以任何帮助都将不胜感激……谢谢! 问题答案: 原始的MNIST示例使用单热编码来表示数据中的标签:这意味着,如果存在类(如MNIST中的
我正在尝试使用我们自己的CSV数据集运行本教程的训练模型,其中每一行由4个int值(最后一个是标签)组成,距离使用TensorFlow Serving: 我正在远处使用Docker运行TensorFlow Serving,我的开发环境是使用Python 3.6的Windows。 我使用以下代码导出模型,类似于此处给出的示例: 老实说,我不确定会有什么样的结果,但是在本指南中,half _ plus
在第 11 章,我们讨论了几种可以明显加速训练的技术:更好的权重初始化,批量标准化,复杂的优化器等等。 但是,即使采用了所有这些技术,在具有单个 CPU 的单台机器上训练大型神经网络可能需要几天甚至几周的时间。 在本章中,我们将看到如何使用 TensorFlow 在多个设备(CPU 和 GPU)上分配计算并将它们并行运行(参见图 12-1)。 首先,我们会先在一台机器上的多个设备上分配计算,然后在
运行命令: 日志: 2020-03-27 03:47:12.744007:I tensor flow _ serving/core/loader _ harness . cc:87]成功加载可服务版本{ name:docker _ test version:1 } e 0327 03:47:12.745641810 6 server _ chttp 2 . cc:40]{ " created ":
问题内容: 尚不清楚参数服务器如何知道分布式张量流训练中的操作。 例如,在此SO问题中,以下代码用于配置参数服务器和工作程序任务: 如何指示给定的任务应该是参数服务器?参数是一种默认的任务行为吗?您还能/应该告诉参数服务任务做什么? 编辑 :这个SO问题解决了我的一些问题:“逻辑确保将Variable对象均匀分配给充当参数服务器的工作程序。” 但是参数服务器如何知道它是参数服务器?是否足够? 问题
C/S架构和B/S架构 C/S架构 是Client/Server这两个单词的首字母,指的是客户端,服务器。 优点: 性能较高:可以将一部分的计算工作放在客户端上,这样服务器只需要处理数据即可。 界面酷炫:客户端可以使用更多系统提供的效果,做出更为炫目的效果。 缺点: 更新软件:如果有新的功能,就要推出新的版本。 不同设备访问:如果使用其他的电脑,没有安装客户端的话就无法登陆软件。 B/S架构 是B