Мы, люди, привыкли заниматься серфингом или гуглить всякий раз, когда забываем синтаксис/выражения программирования. Но когда-нибудь представляли, что фреймворк может написать выражение за вас?

Да! Компания Google разработала инструмент синтеза программ под названием TensorFlow-Coder (TF-Coder), который может писать для нас выражения.

Написание кода TensorFlow похоже на создание и работу с тензорами высокого уровня, и в библиотеке фреймворка доступно множество операций TensorFlow для работы. Но выбрать правильную операцию непросто, и TF-Coder может помочь нам в этом.

Все, что мы должны дать, это просто пример ввода и вывода, а TF-Coder предоставит нам правильное преобразованное выражение.

Пример TF-кодера

Инструмент TF-Coder можно использовать в этом блокноте Colab, и с помощью этого TF-Coder можно выполнять нужные тензорные операции.

Давайте рассмотрим пример.

Учтите, что нам нужно добавить два вектора, вместо того, чтобы искать код, все, что мы можем сделать, это предоставить ввод в виде словаря и вывод, как указано ниже:

ввод = {'строки': [1,2,3], 'столбцы': [2,3,4]}

вывод = [3,5,7]

И соответствующий TF-Coder приведет к:

tf.add(строки, столбцы)

Мы можем подумать, что это очень простой пример. Давайте посмотрим на другой случай, когда он выбирает для нас правильную функцию.

TF-Coder выбирает правильную функцию

Теперь у нас есть тензор, в котором он выбирает максимальный элемент в каждой строке.

ввод = {'вход': [[2,3,4], [6,5,7], [13,10,11], [7,26,12]]}

вывод = [[0,0,1], [0,0,1], [1,0,0], [0,1,0]]

Для выбора максимального элемента доступно множество функций, если мы ищем «max» в документации TensorFlow, например tf.argmax, tf.maximum. Функция tf.argmax даст [2, 2, 0, 1], а tf.maximum требует передачи 2 аргументов внутри своей функции.

Но TF-Coder выбирает для нас правильную функцию.

tf.cast(tf.one_hot(tf.argmax(inp, axis=1), 3), tf.int32)

и, следовательно, TF-Coder помогает легко решить более сложную проблему и может обеспечить результаты, которые ускоряют наши программы.

Ограничения TF-Coder

TF-Coder может решать 3–4 операции в течение минуты. Однако поиск 6 и более операций усложняется. Кроме того, он не поддерживает тензоры строк или рваные тензоры.

Попробуйте инструмент TF-Coder в colab_notebook и испачкайте руки.

Хлопайте, если вам нравится этот блог.