Мы, люди, привыкли заниматься серфингом или гуглить всякий раз, когда забываем синтаксис/выражения программирования. Но когда-нибудь представляли, что фреймворк может написать выражение за вас?
Да! Компания 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 и испачкайте руки.
Хлопайте, если вам нравится этот блог.