brangerbriz / docker-StackGAN

Docker image for hanzhanggit/StackGAN
51 stars 10 forks source link

Not able to run demos based on instructions .... #1

Closed bakercp closed 7 years ago

bakercp commented 7 years ago

https://github.com/brangerbriz/docker-StackGAN

bakercp@dmachine ~/docker-StackGAN $ NV_GPU=1 nvidia-docker run -it -v "$PWD/StackGAN:/root/StackGAN" brannondorsey/docker-stackgan bash

root@fd2fe53d40dc:~# 
root@fd2fe53d40dc:~# ./install_torch.sh && ./download_data.sh && ./download_models.sh

/// waiting ...

root@fd2fe53d40dc:~# cd StackGAN/
root@fd2fe53d40dc:~/StackGAN# 
root@fd2fe53d40dc:~/StackGAN# sh demo/birds_demo.sh
demo/birds_demo.sh: 10: demo/birds_demo.sh: th: not found
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcudnn.so locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcurand.so locally
Traceback (most recent call last):
  File "demo/demo.py", line 175, in <module>
    t_file = torchfile.load(cap_path)
  File "/usr/local/lib/python2.7/dist-packages/torchfile.py", line 378, in load
    with open(filename, 'rb') as f:
IOError: [Errno 2] No such file or directory: 'Data/birds/example_captions.t7'
root@fd2fe53d40dc:~/StackGAN# 
bakercp commented 7 years ago

ah wait ... i restarted the docker image w/out saving state and probably need to run ./install_torch.sh again ...

brannondorsey commented 7 years ago

Hm... that looks like torch didn't install correctly (note th not found). What was the output of install_torch.sh? Was your ~/.bashrc sourced?

bakercp commented 7 years ago

Re-running ./install_torch.sh now ...

bakercp commented 7 years ago

Re ran install. Seemed to go ok. Still no th found. .bashrc cat'd for your inspection.

-- Installing: /root/torch/install/lib/luarocks/rocks/cudnn/scm-1/lua/cudnn/LogSoftMax.lua
-- Installing: /root/torch/install/lib/luarocks/rocks/cudnn/scm-1/lua/cudnn/BGRU.lua
-- Installing: /root/torch/install/lib/luarocks/rocks/cudnn/scm-1/lua/cudnn/VolumetricAveragePooling.lua
-- Installing: /root/torch/install/lib/luarocks/rocks/cudnn/scm-1/lua/cudnn/SpatialAveragePooling.lua
-- Installing: /root/torch/install/lib/luarocks/rocks/cudnn/scm-1/lua/cudnn/SpatialDivisiveNormalization.lua
Updating manifest for /root/torch/install/lib/luarocks/rocks
cudnn scm-1 is now built and installed in /root/torch/install/ (license: BSD)

Do you want to automatically prepend the Torch install location
to PATH and LD_LIBRARY_PATH in your /root/.bashrc? (yes/no)
[yes] >>> 

root@fd2fe53d40dc:~# ./install_torch.sh^C
root@fd2fe53d40dc:~# cd StackGAN/
root@fd2fe53d40dc:~/StackGAN# sh demo/birds_demo.sh 
demo/birds_demo.sh: 10: demo/birds_demo.sh: th: not found
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcudnn.so locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcurand.so locally
Traceback (most recent call last):
  File "demo/demo.py", line 175, in <module>
    t_file = torchfile.load(cap_path)
  File "/usr/local/lib/python2.7/dist-packages/torchfile.py", line 378, in load
    with open(filename, 'rb') as f:
IOError: [Errno 2] No such file or directory: 'Data/birds/example_captions.t7'
root@fd2fe53d40dc:~/StackGAN# cat ~/.bashrc 
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

# If not running interactively, don't do anything
[ -z "$PS1" ] && return

# don't put duplicate lines in the history. See bash(1) for more options
# ... or force ignoredups and ignorespace
HISTCONTROL=ignoredups:ignorespace

# append to the history file, don't overwrite it
shopt -s histappend

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000

# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize

# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"

# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then
    debian_chroot=$(cat /etc/debian_chroot)
fi

# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
    xterm-color) color_prompt=yes;;
esac

# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes

if [ -n "$force_color_prompt" ]; then
    if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
    # We have color support; assume it's compliant with Ecma-48
    # (ISO/IEC-6429). (Lack of such support is extremely rare, and such
    # a case would tend to support setf rather than setaf.)
    color_prompt=yes
    else
    color_prompt=
    fi
fi

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt

# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
*)
    ;;
esac

# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'
    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'

    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
fi

# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
#if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
#    . /etc/bash_completion
#fi
# If the /root/StackGAN directory is empty, clone StackGAN into it
test "$(ls -A /root/StackGAN 2>/dev/null)" || git clone https://github.com/hanzhanggit/StackGAN.git

. /root/torch/install/bin/torch-activate
root@fd2fe53d40dc:~/StackGAN# th
bash: th: command not found
root@fd2fe53d40dc:~/StackGAN# which th 
root@fd2fe53d40dc:~/StackGAN# 
brannondorsey commented 7 years ago

Did you happen to type "yes" after running install_torch.sh? Just realized I didn't include that in the documentation but it is required so that the Torch bin/ will be added to PATH and the LD_LIBRARY_PATH will include the Torch lib files. Without that being appended to your bashrc (and your bashrc then being sourced to update the env variables), Torch, though installed, won't be able to be called with th like the birds_demo.sh requires.

bakercp commented 7 years ago

nope ... just hit enter :)

brannondorsey commented 7 years ago

Weird, I would expect enter to work, however it does look like there have been no such updates to your bashrc. AFK rn but this should be called by the torch install.sh script.

On Jan 18, 2017 23:38, "Christopher Baker" notifications@github.com wrote:

nope ... just hit enter :)

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/brangerbriz/docker-StackGAN/issues/1#issuecomment-273686826, or mute the thread https://github.com/notifications/unsubscribe-auth/ADC6vTav5kBqn8DbSpspSvdDxYepjwgEks5rTvbjgaJpZM4Lnj7L .

bakercp commented 7 years ago

Yeah, not sure. My .bashrc has the line now after typing yes ... also, you can just call torch activate manually.

brannondorsey commented 7 years ago

It is strange that enter instead of 'yes' does not append to bashrc. I've updated the README to instruct the user to type 'yes' at the end of install_torch.sh. Thanks for the help!