2016-09-23 4 views
0

私はSynatxnetを習得しようとしています。私はそれをドッカーを介して実行している。しかし、SynatxnetとDockerのどちらのプログラムについても、私は本当に知りません。 Github Sytaxnet pageにはシンタックスネットスペックファイルとDocker?

SyntaxNetモデルはランタイム (変化しやすい)フラグとテキスト形式TaskSpecプロトコル バッファの組み合わせを介して構成されていると言います。デモで使用されるspecファイルは、 syntaxnet/models/parsey_mcparseface/context.pbtxtにあります。

どのようにして仕様ファイルを編集するのが正確にわかりますか?

これらを使用してDockerコンテナにSyntaxNetをコンパイルしました。Instructions

FROM java:8 

ENV SYNTAXNETDIR=/opt/tensorflow PATH=$PATH:/root/bin 

RUN mkdir -p $SYNTAXNETDIR \ 
    && cd $SYNTAXNETDIR \ 
    && apt-get update \ 
    && apt-get install git zlib1g-dev file swig python2.7 python-dev python-pip -y \ 
    && pip install --upgrade pip \ 
    && pip install -U protobuf==3.0.0b2 \ 
    && pip install asciitree \ 
    && pip install numpy \ 
    && wget https://github.com/bazelbuild/bazel/releases/download/0.2.2b/bazel-0.2.2b-installer-linux-x86_64.sh \ 
    && chmod +x bazel-0.2.2b-installer-linux-x86_64.sh \ 
    && ./bazel-0.2.2b-installer-linux-x86_64.sh --user \ 
    && git clone --recursive https://github.com/tensorflow/models.git \ 
    && cd $SYNTAXNETDIR/models/syntaxnet/tensorflow \ 
    && echo "\n\n\n" | ./configure \ 
    && apt-get autoremove -y \ 
    && apt-get clean 

RUN cd $SYNTAXNETDIR/models/syntaxnet \ 
    && bazel test --genrule_strategy=standalone syntaxnet/... util/utf8/... 

WORKDIR $SYNTAXNETDIR/models/syntaxnet 

CMD [ "sh", "-c", "echo 'Bob brought the pizza to Alice.' | syntaxnet/demo.sh" ] 

# COMMANDS to build and run 
# =============================== 
# mkdir build && cp Dockerfile build/ && cd build 
# docker build -t syntaxnet . 
# docker run syntaxnet 
+0

ドッカーから多かれ少なかれ必要なことをすることはできますが、その方法を知っておく必要があります。残念ながらあなたの質問はあまりにも曖昧で、これ以上の助けをするのは難しいです。あなたがドッカーファイルを見せてくれたら、どうやって進めるか教えてもらえたかもしれませんが、この質問は答えることができませんので、私はそれを閉じるように投票しました。質問を適切に更新すると投票が削除されます。 –

+0

申し訳ありませんが、私はあなたが尋ねたとおりに行っています。うまくいけばそれはそれをより良く説明します。 – 20GT

+0

私はちょうどそのdockerfileを構築しようとしました。そして、それはコマンドのエラーで失敗します。 –

答えて

0

最初に、dockerfileのコマンドラインをコメントアウトしてから、作成して、ホストマシンの空のディレクトリにcdします。次に、あなたのハードドライブへの容器の中にディレクトリを取り付け、画像からコンテナを作成することができます実行

ドッキングウィンドウ-it --rm -v/pwd:あなたが今持っているでしょうbashの

/tmpにコンテナ内のbashセッションスペックファイルを/tmpから/opt/tensorflow/syntaxnet/models/parsey_mcparseface/context.pbtxtにコピーします(これはあなたが上で提供した情報を与えられた場所です - あなたのドッカーファイルに画像を作成できないため、いつでも実行できますfind . -name context.pbtxtをルートから検索して)、コンテナを終了します(ctrl-dまたはexit)。

ホストのファイルに編集可能なファイルがありますが、実際にはそのファイルを実行中のコンテナに入れたいと思っています。そこから来るディレクトリにそのファイルだけが含まれている場合は、ホストディレクトリをコンテナ内のそのパスにマウントするだけです。それに他のものが含まれている場合は、いわゆるブートストラップスクリプトを使用して、マウントされたディレクトリ(上記の例では、tmp)からそのホームの場所にファイルを移動できます。あるいは、フラグを指定してスペックファイルをどこに見つけるかをソフトウェアに指示することができますが、詳細な調査が必要になります。

関連する問題