2016-09-23 3 views
0

Я пытаюсь изучить Synatxnet. У меня это работает через Докер. Но я действительно мало знаю о любой программе Synatxnet или Docker. На Github Sytaxnet page он говоритФайл спецификации Syntaxnet и Docker?

Модель SyntaxNet настраивается с помощью комбинации во время выполнения флагов (которые легко изменить) и текстовой формат протокол TaskSpec буфера. Файл spec, используемый в демо, находится в синтаксисе/моделях/parsey_mcparseface/context.pbtxt.

Как именно найти файл спецификации для его редактирования?

Я скомпилировал SyntaxNet в контейнере Docker, используя эти 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

Я только что попытался создать этот файл докеры, и он не с ошибкой в ​​команде, после того как вы потратили всю жизнь на создание –

ответ

0

Сначала закомментируйте командную строку в файле dockerfile, а затем создайте и cd в пустой каталог на своем хост-компьютере. Вы можете создать контейнер с изображения, устанавливая каталог в контейнере на жесткий диск:

грузчика работать -это --rm -v/pwd:/TMP Баш

Теперь вы будете иметь сеанс bash в контейнере. Скопируйте spec-файл в /tmp с /opt/tensorflow/syntaxnet/models/parsey_mcparseface/context.pbtxt (я предполагаю, что это то, где ему предоставлена ​​информация, которую вы указали выше). Я не могу получить ваш файл докеров для создания изображения, поэтому я не могу его подтвердить, вы всегда можете запустить find . -name context.pbtxt из корня, чтобы найти его), и выйдите из контейнера (ctrl-d или exit).

Теперь у вас есть файл на hd вашего хоста, который можно редактировать, но вы действительно хотите его в запущенном контейнере. Если каталог, из которого он поступает, содержит только этот файл, то вы можете просто установить свой каталог хоста по этому пути в контейнере. Если он содержит другие вещи, вы можете использовать сценарий bootstrap, так называемый, чтобы переместить файл из вашей смонтированной директории (в приведенном выше примере, это tmp) в исходное местоположение. Кроме того, вы можете сообщить программе, где найти спецификационный файл с флагом, но это потребует больше исследований.

Смежные вопросы