floydhub/floyd-cli

Input data mounting failed

heinze007 opened this issue · 4 comments

image
I want to run a script with uploaded-data , but as I tried to specify the mount file as '/data' has failed, I just let it mount to the default file '/input' as you mentioned in the doc. However I cannot find any input file or my pre-uploaded data, no matter on Jupyter or on the normal shell. It seems like my uploaded data and my running script are in independent files?

BTW the 102flowers is the target data file I wanted to attach, that in my screenshot is merely an empty file since I want to upload the data by hand... But that is too costly.

Hey @heinze007,

I'm not sure I understand your problem exactly, but hopefully I can give you a little information that will help.

I want to run a script with uploaded-data , but as I tried to specify the mount file as '/data' has failed, I just let it mount to the default file '/input' as you mentioned in the doc.

Can you share the command you used to attempt this? I would expect it to be something like:

$ floyd run --data data_id_number:name_of_directory --mode jupyter

Where data_id_number is the ID of the data you want to use, and name_of_directory is the directory name you'd like to use for it when inside your experiment.

As an example, I tested this by running:

$ floyd run --data SyccinddLDdS7p3vzcwGQ2:dogs_cats --mode jupyter

Here I'm using the publicly available floydhub/cats-vs-dogs data set, which has an ID of SyccinddLDdS7p3vzcwGQ2. I decided to mount the data at a directory called dogs_cats, so I expect it to be located at /dogs_cats on the file system when my experiment fires up.

If you are running the command as I showed above, visit the url of the jupyter notebook and in the New dropdown in the upper right corner, click Terminal:
jupyter_notebook

That should bring you to a screen with a command prompt. I think this is what you were referring to by "no matter on Jupyter or on the normal shell". When you get into the shell you'll be in the /output directory, and the code you uploaded will be in there. I expect my data to be in the /dogs_cats directory, which it is. See my terminal session below:
jupyter_terminal

  1. My pwd command shows that I am in the /output directory.
  2. Next, I check to see what's in the directory with the ls command. I see that this matches what showed up in my jupyter homescreen.
  3. Next, I list out everything in the root directory by entering ls /. I see that my dogs_cats directory is there! You can see it's the third item in on the top row.
  4. Lastly, I take a look at what's inside my dogs_cats directory with ls /dogs_cats. As expected, my data is there.

So, to answer your question:

It seems like my uploaded data and my running script are in independent files?

Yes, the uploaded code is located in /output and the data is in /dogs_cats (in my case). Or, if you don't specify a directory name for your data, it will be in /input.

Given this directory structure, I can write a script that will access my data at /dogs_cats and everything should run smoothly.

Does this help? Try running those steps on your own and see if it makes more sense. Let me know if you come across any errors.

That really helps me a lot! And actually I'm new to floydhub so, thanks!

Thanks for the detailed response! Closing this now, let us know if you still see any issues.