Однако я получаю
ался адаптироватьreddit_tft пример изОблако-мл Github образцы репо на мои нужды.
Я смог запустить его в соответствии с учебникомПрочти меня.
Однако то, для чего я хочу использовать это проблема двоичной классификации, а также ключи вывода в пакетном прогнозировании.
Итак, я сделал копию учебного кодаВот и изменили его в нескольких местах, чтобы иметь возможность иметь тип моделиdeep_classifier
что бы использоватьDNNClasifier
вместоDNNRegressor
.
Я изменил переменную счета, чтобы быть
if(score>0,1,0) as score
Это хорошо тренируется, развертывается в облаке мл, но я не уверен, как теперь получить ключи обратно из моих прогнозов. `
Я обновил SQL-запрос от BigQuery, чтобы включитьid as example_id
Вот
Похоже, что код из учебника был какой-то заполнитель дляexample_id
так что я пытаюсь использовать это.
Кажется, все работает, но когда я получаю групповые прогнозы, все, что я получаю, это json вот так:
{"classes": ["0", "1"], "scores": [0.20427155494689941, 0.7957285046577454]} {"classes": ["0", "1"], "scores": [0.14911963045597076, 0.8508803248405457]} ...
Такexample_id
кажется, не превращает это в обслуживающие функции, как мне нужно.
Я пытался следовать подходуВот который основан на адаптации примера переписи для ключей.
Я просто не могу понять, как закончить адаптацию этого примера reddit, чтобы также выводить ключи в предсказаниях, поскольку они выглядят немного иначе для меня с точки зрения дизайна и используемых функций.
Обновление 1Моя последняя попыткаВот Попытка использовать изложенный подходВот.
Однако это дает ошибки:
NotFoundError (see above for traceback): /tmp/tmp2jllvb/model.ckpt-1_temp_9530d2c5823d4462be53fa5415e429fd; No such file or directory
[[Node: save/SaveV2 = SaveV2[dtypes=[DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_INT64], _device="/job:ps/replica:0/task:0/device:CPU:0"](save/ShardedFilename, save/SaveV2/tensor_names, save/SaveV2/shape_and_slices, dnn/hiddenlayer_0/kernel/part_2/read, dnn/dnn/hiddenlayer_0/kernel/part_2/Adagrad/read, dnn/hiddenlayer_1/kernel/part_2/read, dnn/dnn/hiddenlayer_1/kernel/part_2/Adagrad/read, dnn/input_from_feature_columns/input_layer/subreddit_id_embedding/weights/part_0/read, dnn/dnn/input_from_feature_columns/input_layer/subreddit_id_embedding/weights/part_0/Adagrad/read, dnn/logits/bias/part_0/read, dnn/dnn/logits/bias/part_0/Adagrad/read, global_step)]]
Обновление 2Моя последняя попытка и деталиВот.
Теперь я получаю сообщение об ошибке от tenorflow-fransform (run_preprocess.sh отлично работает в TFT 0.1)
File "/usr/local/lib/python2.7/dist-packages/tensorflow_transform/tf_metadata/dataset_schema.py", line 282, in __setstate__ self._dtype = tf.as_dtype(state['dtype']) TypeError: string indices must be integers, not str
Я изменил вещи, чтобы просто использовать beam + csv и избегать TFT. Также я сейчас использую подход, как изложеноВот для расширения консервативной оценки, чтобы получить ключ с предсказаниями.
Однако при следованииэто пост, чтобы попытаться получить комментарии в качестве функций, я сейчас сталкиваюсь с новой ошибкой.
The replica worker 3 exited with a non-zero status of 1. Termination reason: Error. Traceback (most recent call last): [...] File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/estimator/python/estimator/extenders.py", line 87, in new_model_fn spec = estimator.model_fn(features, labels, mode, config) File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/estimator/estimator.py", line 203, in public_model_fn return self._call_model_fn(features, labels, mode, config) File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/estimator/estimator.py", line 694, in _call_model_fn model_fn_results = self._model_fn(features=features, **kwargs) File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/estimator/canned/dnn_linear_combined.py", line 520, in _model_fn config=config) File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/estimator/canned/dnn_linear_combined.py", line 158, in _dnn_linear_combined_model_fn dnn_logits = dnn_logit_fn(features=features, mode=mode) File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/estimator/canned/dnn.py", line 89, in dnn_logit_fn features=features, feature_columns=feature_columns) File "/usr/,local/lib/python2.7/dist-packages/tensorflow/python/feature_column/feature_column.py", line 226, in input_layer with variable_scope.variable_scope(None, default_name=column.name): File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/variable_scope.py", line 1826, in __enter__ current_name_scope_name = self._current_name_scope.__enter__() File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 4932, in __enter__ return self._name_scope.__enter__() File "/usr/lib/python2.7/contextlib.py", line 17, in __enter__ return self.gen.next() File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 3514, in name_scope raise ValueError("'%s' is not a valid scope name" % name) ValueError: 'Tensor("Slice:0", shape=(?, 20), dtype=int64)_embedding' is not a valid scope name
Мой репозиторий для этой попытки / подходаВот, Это все работает нормально, если я просто используюsubreddit
как функция, это добавляет вcomment
особенность, которая, кажется, вызывает проблемы. линииОт 103 до 111 где я следовалэто подход.
Не уверен, что вызывает ошибку в моем коде от чтения трассировки. У кого-нибудь есть идеи?
Или кто-нибудь может указать мне на другой подход - перейти от текста к поклону и встроить функцию в TF?