tensor flow vinduer oprette eget plugin

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har tensorflow + gpu med succes bygget på Windows 10 med Visual Studio 2015, fra kildekoden.


Som følge heraf får jeg tensorflow.dll og tensorflow.lib.
Jeg har CUDA8.0 og cudnn 5.0; med en gtx 1080 gpu udstyret.


Men mit spørgsmål handler ikke om at bygge og kompilere tensorflow.
Det handler om at skabe tensorflow plugins.


Jeg fulgte vejledningen til at konstruere min egen 'plug-in'.
og så forsøgte jeg at kompilere en windows .dll; så windows ville ikke automatisk eksportere symboler til mig.
så kompilerer jeg først en statisk lib og bruger dine værktøjer [11]


/tensorflow/contrib/cmake/tools/create\_def\_file.py


at oprette en .def fil for mig og til sidst brugte det til at kompilere .dll.


Men i min python kode, da jeg forsøgte at


correlation = tf.load\_op\_library(correlation.dll) 


og jeg ringede


correlation.correlation()


med korrelation registreret ved brug af REGISTER\_OP("Correlation");
Det fortæller mig stadig



  AttributeError: modul '7b088d8b906b36d3e50721b0adbaaa6a' har ingen attribut 'korrelation'



Jeg tror, ​​at dette kun er et Windows (eller Cl compiler) problem, måske hvad REGISTER\_OP ('Correlation') gjorde, er netop ikke hentet af kompilatoren,


så er der nogen ting jeg kan gøre for at få dette til at ske på windows ??

Bedste reference


Indlæser brugerdefinerede op biblioteker via tf.load\_op\_library () understøttes ikke på Windows (i hvert fald med TensorFlow 1.8).
Løsningen er at tilføje din brugerdefinerede op i selve TensorFlow-biblioteket.
Følg eksemplet på tf.user\_ops.my\_fact implementeret i tensorflow \ tensorflow \ core \ user\_ops \ fact.cc:



  1. Sæt din C ++ implementering i tensorflow \ tensorflow \ core \ user\_ops

  2. Tilføj python-binding i tensorflow \ tensorflow \ python \ user\_ops

  3. Kompilér TensorFlow (læs [12] https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/cmake)

  4. Udskift tensorflow bibliotek i dit Conda miljø med
    tensorflow \ tensorflow \ contrib \ cmake \ bygge \ tf\_python \ tensorflow

  5. Din nye op-funktion importeres i tf.user\_ops