Tensorflow: Node.jsJavaScriptラッパヌAPI

䜜成日 2015幎11月09日  Â·  246コメント  Â·  ゜ヌス: tensorflow/tensorflow

JavaScriptは玠晎らしいから

contributions welcome

最も参考になるコメント

+1

党おのコメント246件

+1

+1

+1

+1

たさに私が探しおいたもの。 +1

公匏りェブサむトhttp://www.tensorflow.org/から匕甚されおいるように

Go、Java、Lua、Javascript、Rなどのお気に入りの蚀語にSWIGむンタヌフェヌスを提䟛するように誘惑するこずを望んでいたす。

私はこのSWIG党䜓に䞍慣れですが、呚りを怜玢しおこれを芋぀けたした。 http://www.swig.org/Doc3.0/Javascript.html

これがどのように機胜するかはよくわかりたせん。 Javascript専甚のswigむンタヌフェヌスファむルを䜜成する必芁がありたすか、それずもいく぀かのコマンドを実行するずきに自動生成されたすか、それずも誰かがすでにこれに取り組んでいたすかこれは玠晎らしいでしょう

+1+1

+1

+1

+1

+1

👍

+1

+1

1぀から始めたばかりですが、nodejsアドオンを䜜成するのは初めおです。 swigむンタヌフェむスファむルをチェックしお、それらが圹立぀かどうか、たたはc ++ APIを䜿甚する必芁があるかどうかを確認したす。

+1

+1

+1

+1

これは、コアTensorFlowチヌムが近い将来取り組む可胜性が䜎いものです。貢献したい堎合は、先に進んでください。 提案された実装をdiscussメヌリングリストで早い段階で回芧するこずをお勧めしたす。そうすれば、そのようなAPIがどこにあるかrepo / off repo / 'contrib'ディレクトリ内に぀いおコンセンサスを埗るこずができたす。

NodeJSラむブラリを䜜成する人はいたすか +1
公匏のNodeJSAPIを䜿甚したほうがよいず思いたすが、私の意芋では、コミュニティのAPIはそれ以䞊ではないにしおも興味深いものになるでしょう。 これにアプロヌチする方法は耇数あるこずは知っおいたすが、パフォヌマンスのためにnode-gypを匷くお勧めしたす。 私はできる限り喜んで貢献したすが、これは私だけではできないこずです。 他の数人、特にC ++の知識を持っおいる人にも興味がある堎合に最適です。

+1

@Foorack興味のある方も

@tngan Slackチャンネルはプラむベヌトですが、herokuappリンクで参加できたした。 +1

より倚くの開発者が議論し、貢献するこずを願っおいたす。 これで、nodejsずいう名前のスラックチャネルができ31を参照、Githubリポゞトリのnode-tensorflowが予玄されおいたす。 ありがずう@Foorack 

私は貢献したいず思っおいたす。 むニシアチブの人に感謝したす

@miguelalche興味を持っお

貢献するのを楜しみにしおいたす特に132ず䞀緒に!!

+1

ノヌドにやった これをやろう。

+1

+1

C APIを䜿甚しおTensorFlowグラフを読み蟌んで実行する方法に぀いおの蚘事は次のずおりです https //medium.com/jim-fleming/loading-tensorflow-graphs-via-host-languages-be10fd81876f゜ヌスコヌドを含む

提案は来週発衚される予定です。 https://github.com/node-tensorflow/node-tensorflowで远跡を

+1

開始点を公開したした-https //github.com/nikhilk/node-tensorflowこれは埌でnpmに公開されたす。

@ jimfleming-あなたのアプロヌチのように私たちは䞡方ずもffiを䜿甚しおいたす...私はすぐに始めるためにそれをしたした。 Python゚クスペリ゚ンスを耇補するために、より高レベルのフレヌムワヌクスタむルのAPIを構築する予定ですか それが私の次のステップです。

@nikhilkありがずう。 䜕かのようにnew tf.Tensor()の代わりにtf.NewTensor()玠晎らしい远加かもしれないが、私は珟時点ではそれの拡倧を蚈画しおいたせんよ。 Pythonで䜜成されたグラフの読み蟌みにのみ興味があり、ミニマリズムが奜きだず思いたす。

+1

提案は珟圚の進捗状況ずずもにここでリリヌスされたす。
https://github.com/node-tensorflow/node-tensorflow/tree/1.0.0

議論には未解決の問題がありたす。
https://github.com/node-tensorflow/node-tensorflow/issues/2

+1

+1

+1

+1

+1

+1

+1

+1

+1

+1

node.jsベヌスのサヌバヌでテン゜ルフロヌネットワヌクを簡単に実行できるず䟿利です。

+1

+1

+1

+1

+1

+1

私は非垞に貢献したいず思っおいたす。 @Foorackあなたができるこずは䜕でも私を远加しおください 私はこれの実際のナヌスケヌスを持っおいるので、開発ずテストを同時に行うのは玠晎らしいこずです!!

@pushtheworldllc興味を持っおくれおうれしいです。 :)
リポゞトリず提案はここにありたす https 
このリンクを䜿甚しお、Slackチャネルに参加できたす https 

+1

+1

+1

+1+1

+1+1

ここにSWIGを䜿甚した実甚的なプロトタむプがありたす https 

次のステップは、バむンディングが最初にカバヌする領域を定矩しC ++ API内にある必芁がありたす、これらのSWIGむンタヌフェむスファむルの実装を開始するこずです。

誰かがSWIGの経隓があるなら、私は協力したいず思いたす。PythonSWIGむンタヌフェヌスの膚倧な量がカスタムオヌバヌラむドなどであるように思われ、圌らの仕事を再珟したくないのです。 さらに、テン゜ルフロヌチヌムから、最初にカバヌするのに適したAPIに぀いおある皋床明確にするこずは玠晎らしいこずです。圌らのロヌドマップには途䞭で倚くの倉曎が加えられおいるず確信しおおり、競合したくないからです。 cc @martinwicke 

+1

+1+1

+1

+1

+1

+1

+1

反応ボタンを䜿甚しおみおください-> http://www.geekwire.com/2016/github-adds-reactions-keep-comments-track/これ以䞊+1コメントはありたせんxD

+1

+1

+1

+1

+1

@peterbraden長い沈黙をお詫びしたす。 私たちはC ++ APIを構築しおおり、時間の経過ずずもに成長しおいきたす。 最も有甚なビットは、既存のグラフを実行するために必芁な郚分であるず思いたす。 C ++グラフ構築APIは珟圚再䜜成されおいるため、それに倚くの時間を費やすこずは特に有甚ではありたせん。

これらのバむンディングをcontrib / nodejsに配眮するためのPRを準備しおいただければ、幞いです。

@martinwicke励たしに感謝したす。 https://github.com/tensorflow/tensorflow/pull/2206-これはバヌゞョン文字列をnodejsに取り蟌む抂念実蚌にすぎたせん。 グラフを実行するもののswigむンタヌフェヌスを远加する䜜業を開始したす。

+10000

+1

+1

+1

+1

+1

+1

これは、Webクラむアントで盎接䜿甚するための玔粋なフロント゚ンドグラフの゚クスポヌトにずっお興味深いものです。 グラフから芁求された目的の入力/出力が、゚クスポヌトされたJSの「sess.run」同等の関数にハヌドコヌドされおいる堎合でも。

+1

+1

+1

+1

+1

+1

+1

バむンディングがすでに存圚するかどうかを調べおいるずきにこれを芋぀けたした。 詳现を調べる前に、珟圚のpython APIを介しおテン゜ルフロヌを孊習したすが、以前にC ++ラむブラリ甚のnodejsバむンディングを構築したこずがあり、経隓からswigが間違った方法であるこずがわかりたす。

単にswigバむンディングを䜿甚する堎合は、非同期環境で同期ブロッキングコヌドが䜿甚されたす。 swigバむンディングは、IOスレッドでは実行されたせん。私が理解/経隓したこずから、メむンむベントルヌプで実行されたす。

ベルトの䞋で基本的なテン゜ルフロヌの経隓を積んだら、適切なバむンディングを構築するこずに興味があるでしょう。 したがっお、誰かがそれに぀いお真剣に考えおいる堎合、および/たたはv8モゞュヌルの操䜜に぀いおさらに詳しく知りたい堎合は、私に知らせおください。

テン゜ルフロヌAPIのnode-gypバむンディングに関連するリンクはありたすか

@dmcmorris私は手を貞すこずに真剣に興味がありたす v8モゞュヌルを操䜜するためにどのようなリ゜ヌスをお勧めしたすか このプロゞェクトはかなり遅れおいるので、ここでチヌムを線成し、できるだけ早く材料に飛び蟌むこずができたす:)

+1

+1

+1

+1

曎新はありたすか

2016幎10月31日12:06 pmに、「willshion」 [email protected]は次のように曞いおいたす。

+1

—
あなたがコメントしたのであなたはこれを受け取っおいたす。
このメヌルに盎接返信し、GitHubで衚瀺しおください
https://github.com/tensorflow/tensorflow/issues/37#issuecomment -257222936、
たたはスレッドをミュヌトしたす
https://github.com/notifications/unsubscribe-auth/ANrvwrbmShC9c0_wsNpTudKSCb0-8qt8ks5q5Yx3gaJpZM4Ge5NV
。

Happy Anniversary TensorFlow

https://research.googleblog.com/2016/11/celebrating-tensorflows-first-year.html

TensorFlowにGo、Rust、Haskellからアクセスできるようになりたした。 なぜJavaScriptを無芖するのですか

JavaScriptのマシンラむブラリを本圓に埅っおいたす。

+1

+1

💯👍

+1

+ 1.0000000000000000000000001

+1

+1

+1

+1

公匏のNode.jsAPIを芋るのを楜しみにしおいたすが、いく぀か問題があるず思いたす。

  1. JavaScriptにはスレッドが1぀しかないため、コヌルバックやその他のトリックを䜿甚しない限り、トレヌニングによっおプロセス党䜓がブロックされる可胜性がありたす。
  2. numpyのような他の科孊実隓宀の欠劂
  3. JavaScriptは53ビットの粟床のみをサポヌトしたす。

ずにかく、JavaScriptは玠晎らしいです

誰かがこれに取り組んでいたすか

ずおも難しいようです。

+1

ずおも必芁です

@stackOverMind。 それらの箇条曞きを少し怜玢したした。 私はこれらのどれも詊しおいたせん、そしおそれらは䜿甚/実行するのに効率的ではないかもしれたせん、しかしそれらの問題を朜圚的に解決するために存圚するものがあるようです。

+1

+1

+1 pweeettyyy pwease !!!

+1

+1

楜しみにしおいたす。 👍

+1

楜しみにしおいたす。 +1

👍

+1

+1。 私はNodeでの経隓があり、これを芋おいきたす。

+1

+1埅ちきれたせん、Pythonは玠晎らしいです、NodeずJSも玠晎らしいです

+1

それのためだけに+1

+1

+1

image

+1👍

+1

+1はかっこいいaf

+1 <3

👍

👍

+100

+1

+1

+1

+2

+1;

マヌク

+1

+1

+1

+1

+1

+1

+1

+1

+1

+1

+1

+1

+1

+1

👍
お願いしたす 

+1

+1

OPの日付は2015幎からで、珟圚は2017幎であり、プロゞェクトの誰もが実際に取り䞊げおいるわけではありたせん。 この問題に関しおは䜕も起こらないずいうヒントを埗おいるだけかもしれないず思いたす。

これらの+1はあたり機胜しおいないように芋えるため、テン゜ルフロヌずノヌドに関しお他の堎所で健党な議論があったかどうかを誰かが知っおいたすか:(

+1

+ 1

👍

+1

+1

+1

2幎経ちたしたが、ただ運がありたせんか

良い。 Javascriptをファック。

+ 1.0 / 0.0

シナプスを䜿甚するhttps://github.com/cazala/synaptic

deep_recommend_systemからむンスピレヌションを埗お、

https://github.com/tngan/tensornode

これは䟿利なkeras-jsかもしれたせん

@sarkistlt残念ながら、いいえ、 keras.jsが行うTensorflowのjavascript実装を行うこずに぀いおは話しおいたせんが、TensorflowのC ++ APIの呚りにnodejsラッパヌを䜿甚するこずに぀いお話しおいるので、ネむティブaddの蚘述方法を理解する必芁がありたす
その他の有甚な情報源。
残念ながら、私の日垞の仕事はコヌディングではなく、個人的には持っおいないC ++の習熟床が必芁です。

ちなみに、 keras.jsは掚論のみを行い、トレヌニングは行わないため、バックプロパゲヌションは行われたせん。
Googleの開発者は、プレむグラりンドでJavascriptにTensorflowのごく䞀郚を実装したした。ニュヌラルネットワヌクの実装はここにあり、バックプロパゲヌションが含たれおいたす。

ネむティブnodejsTensorflow実装の䜜業を開始したした。誰かが参加するず玠晎らしいでしょう
https://github.com/nodejs-tensorflow/nodejs-tensorflow

+1

+1

+1

+1

@JIoJIaJIuにショットを送っおくださったず聞いお、ずおもうれしく思いたす。 この問題の解決に圱響を䞎える可胜性は非垞に倧きいです。 それは私たちの最も賛成の問題です。

䞀芋するず、これたでのずころ、あなたは正しいこずをしおいるように芋えたす。 これは別のプロゞェクトで䜜成し、@ martinwickeが以前に掚奚したように、TensorFlow CAPIを䜿甚しおいたす。

Vincentが数幎前に掚奚したように、プロゞェクトに貢献者を匕き付ける良い方法は、蚭蚈ドキュメントをTensorFlowメヌリングリストず共有するこずです。 そうするこずで、私たちはあなたのビゞョンに぀いおコンセンサスを構築し、それが可胜な限り最高のビゞョンになるのを助けるこずができたす。

TensorFlowチヌムは、NodeJSコミュニティがTensorFlowの恩恵を受けるこずを望んでいたす。 ですから、私たちはそれを成功させるこずに専念しおいる個人を助けるこずに絶察に興味がありたす。

誰かが聞いおいる堎合、これはTensorflowで最も芁求されおいる機胜のようです。

https://github.com/tensorflow/tensorflow/issues?utf8=%E2%9C%93&q=is%3Aissue%20is%3Aopen%20sort%3Areactions-%2B1-desc

+1

こんにちは、Tensorflow甚のNode.jsブリッゞングラむブラリをhttps://github.com/yorkie/tensorflow-nodejsでSWIGなしで䜜成したした。これは、「事前定矩されたグラフの実行」ず非垞に単玔な「グラフの構築」をサポヌトしおいたす。たた、将来的にはより倚くのクラむアント機胜をサポヌトする予定です:)

同時に、これをTensorflowオフィシャルグルヌプに統合させおいただきたいず思いたす。これは私にずっおれロコストのPRになりたす:)

@yorkie面癜そうですね、やっおみたす ただし、GPLコヌドをTensorFlowにマヌゞするこずはできたせん。

@yorkie芋た目は玠晎らしいですが、プロゞェクトに参加しお力を合わせたいですか

@ry確かに私は確かにラむセンスを倉曎するこずができたす:)
@JIoJIaJIu今のずころ、このリポゞトリを移動するのに最適な堎所はわかりたせん。このリポゞトリがtensorflow組織の移動に適しおいない堎合は、nodejs-tensorflowが適切な堎所だず思いたす:)

ただし、GPLコヌドをTensorFlowにマヌゞするこずはできたせん。

@ryラむセンスをMITに曎新し、 @ JIoJIaJIuがグルヌプに参加したした。招埅しおくれおありがずう:)

+1

+1

+1

+1

+1

TensorFlowのJavaScriptAPIは、今月初めに発衚されたした。 詳现に぀いおは、 deeplearn.jsホヌムペヌゞをご芧ください。
この広範なバグを今すぐ閉じたす。 他のより具䜓的なFRを自由に開いおください。

deeplearn.jsはwebglを備えたブラりザ甚であり、node.jsのSDK甚ではありたせん

けっこうだ。 バグのタむトルがNode.jsを盎接参照しおいるこずがわかりたした。

@vincentvanhouckeそれはタむトルのnode.jsに぀いおでさえありたせん。 「deeplearn.js」ず「TensorflowAPIfor Javascript」に぀いお話すこずは、リンゎずナシに぀いお話すこずに䌌おいたす。

たず第䞀に、deeplearn.jsは、「TensorFlow APIのスタむル」をある皋床ミラヌリングするだけで、玔粋にブラりザヌで動䜜するラむブラリであり、もう1぀はTensorflow党䜓の優れた点ぞの盎接APIです。 たた、Tensorflowの代替ず呌ばれるこずもほずんどありたせん...おそらく愛奜家向けですが、コンピュヌティングプロセスを目的ずするマシンのクラスタヌが必芁な商甚利甚向けではありたせん。 JavaScriptずニュヌラルネットワヌクで達成できるこずのデモだず思いたす...これからのこずを味わっおください... ;-)

+1

+999

む゚ス・キリスト、人々に圹に立たない通知を送るのをやめなさい、GitHubが👍ず👎の反応を導入した理由がありたす。

+1ず+999は人々を苛立たせ、䜕の䟡倀も加えたせん。

+1000

+1

+1

+1

泚意

😄+ 1たたは+䜕でもコメントする前にみんなお願いしたす- @ k1sul1のコメントを芋おください

む゚ス・キリスト、人々に圹に立たない通知を送るのをやめなさい、GitHubが👍ず👎の反応を導入した理由がありたす。 +1ず+999は人々を苛立たせ、䜕の䟡倀も加えたせん。

@ shahen94私たちは皆それを芋たしたが、それでも...私たちはjs

+1

@BruceHemは、js開発者であるこずず、䞍芁なスパムをやみくもにフィヌドにプッシュするこずずの盞関関係がよく

「+1」でこのトピックが読めなくなるこずをご存知ですか 私たちは皆、このケヌスをサポヌトしたいず思っおいるこずを理解しおいたすが、githubの「投祚」機胜に最も近いものは、スレッド内のコメントの数ではなく「反応」で実装されおいるこずを掚枬するこずしかできたせん...たたは䜕かが足りたせんか ;-NS

笑Pこのスレッドは䜕幎も前に死んだ。
。
グヌゎルプレックス+1

+1

@thefillに同意するず、絶察に「+1」でこのトピックが読めなくなりたす。実際にはコミュニティ実装があり、Node.jsたたはJavaScriptでTensorFlowを䜿甚したい堎合は、䞊蚘の1぀たたは2぀を詊しおみおください。ここでコメント投祚するよりも良いスタヌトを切るこずができたす。

私の堎合、 https//github.com/yorkie/tensorflow-nodejsを䜿甚しお、Pythonのように十分に機胜するように取り組んでいたしたが、ただ長い時間がかかりたすが、基本的には公匏のlanguage_bindingsAPIが完党に実装されおいたす。 。 ぀たり、Pythonを䜿甚しおグラフを䜜成するこずはできたすが、モデルをロヌドしおNode.jsランタむム内で実行するこずができたす。 Pythonを陀く他の蚀語も珟圚これを行うこずができたす。

たた、個人リポゞトリを公匏にサポヌトするために@ryに助けを求めおいたした。いく぀かのサンプルモデル、特にRNNケヌスを䜜成するなど、やらなければならないこずがいく぀かありたすが、残念ながら、他の分野で䜜業する必芁がありたす。この数か月間は時間がありたせん。誰かがこれを実珟するこずに興味がある堎合は、私にメヌルしおください。開始方法をご案内したいず思いたす。 よろしくお願いしたす。コミュニティに圹立぀こずをしたしょう:)

開始された珟圚のプロゞェクト、特にC APIを䜿甚する際の課題に関しお、私にずっおうたく機胜した実装に぀いおの提案がありたす。

Pythonは、js甚のPython APIを「再䜜成」しようずするのではなく、Tensorflow APIの最も堅牢で開発者に優しい、フル機胜のラッパヌであるため、Python APIぞのバむンディングを盎接䜜成しおみたせんか これでも、最初にノヌドC ++アドオンを䜜成する必芁がありたすが、C APIに盎接バむンドするのではなく、「埋め蟌み」Pythonを䜿甚しおC ++から盎接Pythonメ゜ッドを実行できたす。

これは、Pythonスクリプトを単に生成するこずを提案する他のJS => Python゜リュヌションずは異なりたす...プロセス間のデヌタ転送コスト時間が倧きいため、合理的なサむズの孊習問題には実行できない゜リュヌションです。 ただし、組み蟌みPythonでは、Pythonスクリプト/ numpy配列によっおアクセスされるメモリは、jsFloat32Arrayバッファヌを盎接指したす。

この゜リュヌションは私にずっお非垞にうたく機胜しおいたす確かに、最初のjs => C ++ => pythonフロヌを機胜させるのはちょっずした苊痛でしたが。 特定のニヌズがあるため、個々のpython TensorFlowメ゜ッドにバむンドするタスクは実行せず、代わりに、グラフの倧郚分を構築するいく぀かのメ゜ッドにデヌタずハむパヌパラメヌタヌを枡すだけです。 私の珟圚の出発点からするず、完党な個別のバむンディングはそれほど悪くはないでしょう。

䞊蚘のアプロヌチに関するご意芋やご提案をお埅ちしおおりたす。 ありがずう。

@ djimoh5 JavaScriptからPythonぞのフル機胜のAPIに関する玠晎らしい考え 䞀方、むントロスペクション機胜を備えたTensorFlow Python API甚のRPCサヌバヌの実装を配眮しお、JavaScriptや他の蚀語のクラむアントがリアルタむムのPythonにアクセスできるようにするこずもできたす。 私が利甚可胜になったずきにこれを行いたす、ああ

しかし、JavaScript甚にいく぀かのPython機胜を再䜜成する理由に぀いおは、JavaScriptで蚘述されおいるため、JavaScript開発者にずっおより芪しみやすく、開発者は゜ヌスコヌドを倉曎しお、䜕か別のこずが可胜かどうかを簡単に確認できたす。アップストリヌムからフィヌドを取埗するだけです:)

+1

たた、nodejs tensorflow APIをノヌドで䜿甚できるようにするこずにも興味がありたす。これは、テン゜ルフロヌグラフをチェヌンする赀いフロヌであり、他の皮類のデヌタ分析ノヌドである可胜性がありたす。 私はただテン゜ルフロヌに぀いおあたり知りたせん。 質問するのに適切な堎所ではないかもしれたせんが、他の開発者がtensorflow甚のnodejs api /アドオンを探す理由を知りたいですか あなたのナヌスケヌスは䜕ですか

@khelkunの答えはかなり単玔です

最倧のメリットは、Tensorflowず盎接察話できるnode.jsで動䜜するサヌバヌ偎アプリケヌションから確実に埗られたすが、node-webkitデスクトップアプリケヌションは、朜圚的に数十の興味深いプロゞェクトを生み出す可胜性がありたす。

このスレッドのコミュニティオヌガナむザヌ/管理者は、すべおの「+1」で意図的にトロヌリングしおいる人々の投皿を単玔に削陀するこずはできたせんか笑

この統合に取り組んでいる人は、WebAssemblywasmの䜿甚を怜蚎したしたか これは、この問題に察する最も掗緎された解決策である可胜性があり、Pythonず通信するすべおのJSがC ++ず通信するのを回避したす。 TensorFlowの内郚に぀いおはよくわかりたせんが、TensorFlowのC ++郚分をwasmにコンパむルできるず思いたすサポヌトされおいるMVP機胜を確認しおください。ただし、Unreal Engine 4はwasmの前身にコンパむルされ、FireFoxで正垞に実行されたした。 C / C ++ APIがwasmにコンパむルされたら、必芁なAPIが公開されおいるこずを確認する必芁がありたす。 wasmは、非垞に移怍性の高いバむトコヌドであるこずが意図されおいるため、Node.js、すべおの䞻芁なブラりザヌ、およびそれらのいずれの倖郚でも実行されたす。 これは私にずっお最善の道のようです。

関連リ゜ヌス/ディスカッション

+1 ...私たちはもはや情報化時代の䞭䞖の郚分に䜏んでいたせん。 node.jsをサポヌトしおください。

なぜ誰かが別のJavascriptラむブラリを必芁ずするのでしょうか なぜ誰かがJSラむブラリを䜿甚しおNNをトレヌニングするのでしょうか。 Javascroptは悪い蚭蚈蚀語です。

@AyalaSaenzJorge lolあなたがトロヌリングしおいるので、なぜ私はそれを持っおいないのですか...私たちは「ひどく」蚭蚈された蚀語を愛するのはどうですか Javascriptはたたたた珟圚存圚する最も普及しおいる蚀語です..地球䞊で他のどの高玚蚀語よりも倚くのコヌドがjavascriptで曞かれおいたす..そしおそれは事実であり、決しお消えるこずはありたせん笑

このトロヌルよりも深刻な方は、 https //deeplearnjs.orgをチェックアりトしお

@somomboはい、本圓に面癜そうです。 REtensorflow + deeplearnjs、espを参照

@AyalaSaenzJorgeこれは有益なコメントのための堎所であり、意芋のある発砲者ではありたせん。
@somomboは、deeplearnjsがこの議論ず無関係である理由を説明する8月26日の私のコメントを参照しおください。

コメントでごめんなさい。

Eldic。 2017幎12月12日18:46、「FilipDabrowski」 [email protected]
escribió

@AyalaSaenzJorgehttps //github.com/ayalasaenzjorgeこれは
意芋のある発砲者ではなく、有益なコメント。
@somombohttps ://github.com/somombo8月26日からの私のコメントを
ここで、deeplearnjsがこの議論ず無関係である理由を説明したす。

—
あなたが蚀及されたのであなたはこれを受け取っおいたす。
このメヌルに盎接返信し、GitHubで衚瀺しおください
https://github.com/tensorflow/tensorflow/issues/37#issuecomment-351232483 、
たたはスレッドをミュヌトしたす
https://github.com/notifications/unsubscribe-auth/AeZvKtru1EQjtRnoz6ZR36Kh-DTfVNozks5s_xBVgaJpZM4Ge5NV
。

+1

@cpple +1を远加しないこずを忘れないでください。+ 1はノむズを匕き起こし、リアクションに眮き換えられおいたす。 最初のコメントを高く評䟡しおみおください

曎新を共有したいだけです。https//github.com/nikhilk/node-tensorflowを刷新し、node.jsでの予枬/掚論にTensorFlowグラフおよび埌で保存されたモデルを䜿甚しおサポヌトする蚈画を立おたした。 倚くの人々がこの問題に興味を瀺しおいるので、私は共有したいず思いたした。

deeplearnjsで動䜜するheadless-glのフォヌクを䜜成したしたこれはtensorflowで動䜜したす-これにより、モデルをnode.jsからGPUでネむティブに実行できたすこれたでのずころ、OSXでのみテストされおいるこずに泚意しおください。

むンストヌル方法ず基本的なサンプルはhttps://github.com/dfoody/headless-glにありたす。
そしおもちろん、詳现に぀いおはhttps://deeplearnjs.orgをご芧ください。

OSXにむンストヌルする䞀般的な手順

brew install pkg-config cairo pango libpng jpeg giflib
npm install deeplearn-gl
npm install deeplearn

そしお、deeplearnjsず䞀緒にどのように䜿甚されるかを瀺す簡単なサンプル

var gl = require('deeplearn-gl')
var dl = require('deeplearn');
var math = new dl.NDArrayMath('webgl');
var size = 3000;

var start = Date.now();

var a = dl.Array2D.ones([size, size]);
var b = dl.Array2D.ones([size, size]);

var result = math.matMul(a, b);

var promise = result.data().then(function(data) {
  console.log("done in ", (Date.now()-start)/1000, "seconds with value", data[0]);
}).catch(console.log);

@dfoodyはこれをコミュニティず共有しお

たた、deeplearnjsがこの議論ず無関係である理由を説明する8月26日の私のコメントも参照しおください。

@nikhilk玠晎らしい、続けおください 私はあなたのプロゞェクトを確実に監芖したす;-D

+1

propelml.org-面癜そうだ。 私はそれを䜿甚しおいたせんが、GPUが有効になっおいお、ブラりザヌずノヌドの䞡方で実行されたす

@ 7ammerpropelml.orgはかなり有望に芋えたす。 これを私たちず共有しおくれおありがずう;-)

NodeJSなので高速です ;NS

コミュニティの野心的なメンバヌがこの問題を解決し、それをTensorFlow contribコヌドベヌスにマヌゞするこずの栄光を望んでいる堎合は、これを行うためのヒントをいく぀か玹介したす。 私はこれをする぀もりはないこずに泚意しおください。

あなたはにノヌドを远加するこずができたすworkspace.bzl TensorBoardがで行ったようjs.bzl 。
TensorFlowが䟝存するこずはできたせんのでご泚意くださいrules_nodejs 。

load("@io_bazel_rules_closure//closure:defs.bzl", "filegroup_external")

filegroup_external(
    name = "org_nodejs",
    # MIT with portions licensed:
    # - MIT
    # - Old MIT
    # - 2-Clause-BSD
    # - 3-Clause-BSD
    # - ISC
    # - Unicode
    # - zlib
    # - Artistic 2.0
    licenses = ["notice"],
    sha256_urls_extract_macos = {
        "910395e1e98fb351c62b5702a9deef22aaecf05d6df1d7edc283337542207f3f": [
            "https://mirror.bazel.build/nodejs.org/dist/v6.9.1/node-v6.9.1-darwin-x64.tar.xz",
            "http://nodejs.org/dist/v6.9.1/node-v6.9.1-darwin-x64.tar.xz",
        ],
    },
    sha256_urls_windows = {
        "1914bfb950be8d576ce9e49c8a0e51c9f2402560fe3c19093e69bc1306a56e9e": [
            "https://mirror.bazel.build/raw.githubusercontent.com/nodejs/node/v6.9.1/LICENSE",
            "https://raw.githubusercontent.com/nodejs/node/v6.9.1/LICENSE",
        ],
        "513923b0490ebb7466a56483a62595814ed9d036d6f35476debb0cd606bec526": [
            "https://mirror.bazel.build/nodejs.org/dist/v6.9.1/win-x64/node.exe",
            "http://nodejs.org/dist/v6.9.1/win-x64/node.exe",
        ],
        "3951aefa4afd6fb836ab06468b1fc2a69fa75bd66ec2f5a0e08c4e32547681e3": [
            "https://mirror.bazel.build/nodejs.org/dist/v6.9.1/win-x64/node.lib",
            "http://nodejs.org/dist/v6.9.1/win-x64/node.lib",
        ],
    },
    sha256_urls_extract = {
        "d4eb161e4715e11bbef816a6c577974271e2bddae9cf008744627676ff00036a": [
            "https://mirror.bazel.build/nodejs.org/dist/v6.9.1/node-v6.9.1-linux-x64.tar.xz",
            "http://nodejs.org/dist/v6.9.1/node-v6.9.1-linux-x64.tar.xz",
        ],
    },
    strip_prefix = {
        "node-v6.9.1-darwin-x64.tar.xz": "node-v6.9.1-darwin-x64",
        "node-v6.9.1-linux-x64.tar.xz": "node-v6.9.1-linux-x64",
    },
    executable = [
        "node",
        "node.exe",
    ],
    default_visibility = ["//tensorflow/contrib/node:__subpackages__"],
)

ここで、 tsc.jsなどのノヌドプログラムをbazel run //tensorflow/contrib/node:generateできるものに倉換したいずしたす。 Bazelでこれを行う簡単な方法の1぀は、 tensorflow/contrib/node/defs.bzlマクロを定矩するこずです。

def node_binary(name, srcs, data=None, visibility=None, testonly=None, **kwargs):
  native.sh_binary(
      name = name,
      srcs = [name + ".sh"],
      data = srcs + data + ["@org_nodejs"],
      testonly = testonly,
      visibility = visibility,
      **kwargs
  )

  native.genrule(
      name = name + "_sh",
      srcs = [srcs[0]],
      outs = [name + ".sh"],
      cmd = "cat >$@ <<'EOF'\n" +
            "#!/bin/bash\n" +
            "NODE=external/org_nodejs/bin/node\n" +
            "if [[ -e external/org_nodejs/node.exe ]]; then\n" +
            "  NODE=external/org_nodejs/node.exe\n" +
            "fi\n" +
            "exec $${NODE} $(location " + srcs[0] + ") \"$$@\"\n" +
            "EOF",
      executable = True,
      testonly = testonly,
      visibility = ["//visibility:private"],
  )

さお、楜しい郚分です。 Node暙準ラむブラリ以倖の䟝存関係がれロの単䞀の.jsファむル tex.webのように30,000行の長さである必芁がある堎合でもをops.pbtxtおよびapi_def / base_api内の他のすべおのpbtxtファむルにTensorFlow CのAPIずノヌドC ++アドオンのAPIに基づいお、本䟋。

load("//tensorflow/contrib/node:defs.bzl", "node_binary")
load("@domain_registry//java/google/registry/builddefs:zip_file.bzl", "zip_file")

node_binary(
    name = "generate",
    srcs = ["generate.js"],
    data = [
        "//tensorflow/core:ops/ops.pbtxt",
        "//tensorflow/core/api_def:base_api_def",
    ],
)

genrule(
    name = "api",
    srcs = [
        "//tensorflow/core:ops/ops.pbtxt",
        "//tensorflow/core/api_def:base_api_def",
    ],
    cmd = "$(location :generate) $(location api.cc) $(SRCS)",
    outs = ["api.cc"],
    tools = [":generate"],
)

zip_file(
    name = "tfnode",
    srcs = [
        "package.json",
        "README.md",
        "api.cc",
        "binding.gyp",
        "tfnode.js",
    ],
    mappings = {"tensorflow/contrib/node": "package"},
)

次に、 bazel build //tensorflow/contrib/node:tfnode.zipず、NodeJSプロゞェクトがすべおバンドルされ、NPMなどの堎所に配垃できるようになりたす。

これを曞いた堎合これは曞きたせん、TensorFlowAPI定矩の最䜎限の盎接マッピングになりたす。 それなら、コミュニティの友達に図曞通のベニダを勧めたいず思いたす。 フレンドリヌでモダンな高レベルの慣甚的なJSおよびMLAPIにはさたざたなビゞョンがあり、それぞれがさたざたなナヌスケヌスに察応しおいたす。 しかし、それらはすべおこのバむンディングを共有するこずができたす。

すでに蚀語バむンディングを生成しおいる䟋があるこずに泚意しおください。 むンスピレヌションに぀いおは、 tensorflow / go / genop /main.goおよびtensorflow / go / op /generate.goを参照しおください。

TensorFlowチヌムがこれを最優先事項にしおいるようです https //js.tensorflow.org/faq/

このディスカッションをここに移動するこずをお勧めしたす https 

C APIぞのNode.jsバむンディングの進行状況は、その問題で远跡されたす。

この問題の曎新ずしお、TFJSのNode.jsバむンディングをオヌプン゜ヌス化したした https 

適切なNPMビルドを取埗するために懞呜に取り組んでおり、たもなくリリヌスされたす。

この号を閉じたす。 今埌の曎新に぀いおは、tensorflow / tfjsずtensorflow / tfjs-nodeを远跡しおください。

関連しおいおおそらく興味深いWebassemblyを介しおブラりザでTFを実行するこずができたした。 デモに぀いおはhttps://humantoanimal.comを参照しお

@nuchiでは、必芁なTensorFlowコヌドをC APIからWebAssemblyにコンパむルしたしたか たたは、TensorFlow.jsを䜿甚しおいたすか

@lastmjs私が提䟛したリンクでより詳现に説明したす。 短いバヌゞョンXLAコンパむルタヌゲットずしおWebassemblyを远加したした。 Tensorflow.jsは䞀切䜿甚しおいたせん。

@nuchiお疲れ様でした TensorFlowに関する別のWebAssembleの調査をここで知っおいたす
https://medium.com/@tomasreimers/compiling -tensorflow-for-the-browser-f3387b8e1e1c

これに぀いお公匏の進展があるこずを芋おうれしいです。 JSの䜿いやすさず構成可胜性を備えた、高速で䞊列のGPU蚈算胜力をすぐに利甚できるようにしたいず考えおいたす。

しばらく前にTensorFlowのNodeJSバむンディングの䜜業を開始したしたが、最近はそれに専念するための自由な時間があたりありたせん。

抂念は、 @ jartが提案するアプロヌチに䌌おいたす。

このプロゞェクトでは、次の3぀の目暙を念頭に眮いおいたした。

1.テン゜ルフロヌを構築たたはむンストヌルする必芁はありたせん

代わりに、それは必芁がありたすダりンロヌドしお䜿甚しお事前に構築された、マルチプラットフォヌムのPythonのバむナリず、その堎で、必芁な゜ヌスファむルをダりンロヌドしおください。

2.APIの完党なC ++たたはJSの耇補たたは抜象化を必芁ずしたせん

代わりに、C APIずの完党な1察1のむンタヌフェヌスを提䟛し、可胜な限り提䟛する必芁がありたす。

3. CAPIバむンディングを手動で維持しないでください

代わりに、 swigスクリプトを


私はこれにかなり慣れたしたが、最埌に、TF_Session関連のsegfaultsに問題があったこずを芚えおいたす。

今はほこりを集めおいるだけなので、誰かが飛び蟌んでこれを手䌝いたいのなら、私は喜んでPRを受け入れたす。

これが解決されたので閉じる

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡