2017-08-07 1 views
0

j'ai vérifié par tensorflow la documentation et ils semblent ne donner des informations sur la compilation d'un op personnalisé par une règle de Bazel:Comment compiler des opérations personnalisées dans tensorflow sans avoir à les importer dynamiquement en python?

load("//tensorflow:tensorflow.bzl", "tf_custom_op_library") 

tf_custom_op_library(
    name = "zero_out.so", 
    srcs = ["zero_out.cc"], 
) 

Une fois Bazel construit, vous obtenez un fichier zero_out.so que vous pouvez importer en python comme ci-dessous:

import tensorflow as tf 
zero_out_module = tf.load_op_library('./zero_out.so') 

y at-il de toute façon vous pouvez lier custom_ops lors de la construction de Bazel de tensorflow afin que vous n'avez pas besoin d'importer manuellement ops personnalisés par tf.load_op_library?

+0

car les opérations personnalisées tensorflow sont codées en C++ et compilées via la règle cc_library dans bazel. –

Répondre

0

Il n'existe aucun point d'extension officiellement pris en charge pour extraire vos propres opérations autres que le chargement dynamique.

Si vous construisez un tensorflow à partir d'une source et que vous êtes prêt à le pirater, il n'est pas difficile de prétendre que vos opérations sont des opérations de base, mais elles ne sont pas supportées.