Пример TF 2.0 @ tf.function

Вот регулярное выражение, которое будет захватывать то, что находится между коровой и молоком (без начального / конечного пространства):

srctext = "My cow always gives milk.";
var re = /(.*cow\s+)(.*)(\s+milk.*)/;
var newtext = srctext.replace(re, "$2");

Пример: http://jsfiddle.net/entropo/tkP74/

0
задан nessuno 22 March 2019 в 14:21
поделиться

2 ответа

Хотя это не видно в сгенерированном коде, переменная шага фактически будет автоматически помещена в Tensor с помощью цикла for, который преобразуется в TF while_loop.

Вы можете проверить это, добавив оператор печати:

    loss = train_one_step(model, optimizer, x, y)
    print(step)
    if tf.equal(step % 10, 0):
0
ответ дан Dan Moldovan 22 March 2019 в 14:21
поделиться

Да, ты прав. Целочисленная переменная step остается переменной Python даже при преобразовании в графическое представление. Вы можете увидеть результат конвертации, позвонив по номеру tf.autograph.to_code(train.python_function).

Не сообщая весь код, но только часть, связанную с переменной step, вы увидите, что

  def loop_body(loop_vars, loss_1, step_1):
    with ag__.function_scope('loop_body'):
      x, y = loop_vars
      step_1 += 1

все еще является операцией Python (в противном случае это будет step_1.assign_add(1), если шаг 1 был tf.Tensor).

Для получения дополнительной информации об автографе и tf.function я предлагаю прочитать статью https://pgaleone.eu/tensorflow/tf.function/2019/03/21/dissecting-tf-function-part-1/ , который легко объясняет, что происходит, когда функция преобразуется.

0
ответ дан nessuno 22 March 2019 в 14:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: