tryolabs / luminoth

Deep Learning toolkit for Computer Vision.
https://tryolabs.com
BSD 3-Clause "New" or "Revised" License
2.4k stars 400 forks source link

File not found error on the cloud #231

Closed AshwinAce closed 5 years ago

AshwinAce commented 5 years ago

I installed Luminoth by cloning the directory. Luminoth works well locally when run. However it gives errors when run on the cloud. File "/home/ace/anaconda3/lib/python3.6/site-packages/luminoth-0.2.2.dev0-py3.6.egg/luminoth/tools/cloud/gcloud.py", line 241, in train package_path = build_package(bucket, base_path) File "/home/ace/anaconda3/lib/python3.6/site-packages/luminoth-0.2.2.dev0-py3.6.egg/luminoth/tools/cloud/gcloud.py", line 100, in build_package tarball_filename = os.listdir(output_dir)[0] FileNotFoundError: [Errno 2] No such file or directory: '/tmp/tmpzkr4l45i/output'

I tried installing by pip but that installed an older version of Luminoth that had an error with 'format' being wrongly written as 'formata'. On retrying to run on the cloud, the same erros with slightly different names occurs. FileNotFoundError: [Errno 2] No such file or directory: '/tmp/tmpza5fipff/output'

dekked commented 5 years ago

What is probably happening here is that one of these commands is failing, but the error is swallowed (because it's redirected to /dev/null):

    subprocess.call(
        [
            'python', 'setup.py', 'egg_info', '--egg-base', temp_dir,
            'build', '--build-base', temp_dir, '--build-temp', temp_dir,
            'sdist', '--dist-dir', output_dir
        ],
        cwd=package_path, stdout=devnull, stderr=devnull
    )
    subprocess.call(
        [
            'python', 'setup.py', 'build', '--build-base', temp_dir,
            '--build-temp', temp_dir, 'sdist', '--dist-dir', output_dir
        ],
        cwd=package_path, stdout=devnull, stderr=devnull
    )
    subprocess.call(
        ['python', 'setup.py', 'sdist', '--dist-dir', output_dir],
        cwd=package_path, stdout=devnull, stderr=devnull
    )

You can put a breakpoint after this line:

output_dir = os.path.join(temp_dir, 'output')

Then open a shell in whatever output_dir is in that case, and run the commands one by one, to see why they fail.

Alternatively, you can remove the stdout=devnull, stderr=devnull bits and see if you get any logs.

AshwinAce commented 5 years ago

I commented the stdout and stderr statements. The error that comes from all three subprocesses is Building custom Luminoth package from "/home/ace/anaconda3/lib/python3.6/site-packages/luminoth-0.2.2.dev0-py3.6.egg". python: can't open file 'setup.py': [Errno 2] No such file or directory

When I move setup.py to the required folder, this is the error I get FileNotFoundError: [Errno 2] No such file or directory: '/home/ace/anaconda3/lib/python3.6/site-packages/luminoth-0.2.2.dev0-py3.6.egg/README.md'

On moving README to the same folder, it submits to the cloud. It runs and then fails after that, I shall submit the same as a new issue.

dekked commented 5 years ago

Ok, this helps. Might be related to the workings of Anaconda, which we have never tested with Luminoth, but looks to be quite popular in our user base.

What operating system and Anaconda version do you use?

AshwinAce commented 5 years ago

conda version : 4.5.11 conda-build version : 3.10.5 python version : 3.6.5.final.0

I use an Ubuntu 16.04.4.LTS.

dekked commented 5 years ago

conda version : 4.5.11 conda-build version : 3.10.5 python version : 3.6.5.final.0

I use an Ubuntu 16.04.4.LTS.

Thanks, this is very useful. We'll try to reproduce!

Please create a new issue with the other questions.

dekked commented 5 years ago

@AshwinAce Try with latest version (0.2.2) and let us know.