-
Notifications
You must be signed in to change notification settings - Fork 240
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Can not read and pass on the results #30
Comments
result.dat is created in a temporary folder. In your case it tries to create it in /var. Check if your user has permission to create folders in /var |
@gpapadop79 thanks for the infos. Because the matrix as the input is large(95 rows and 745544 columns), if there is no enough memory, should it cause this problem? As the folder is a temporary one, how to check the permission to create folders? Thanks in advance |
Is the t-SNE algorithm itself actually being run? Like do you see a loss being printed every 50 iterations or something like that? The result file should actually be really small (95x2 matrix), so I would be surprised if this were an OOM problem. To check permissions, you can do something like @rohit-gupta Perhaps it makes sense to have an input option to specify the folder for intermediate results? I am not a Python user, so I am not familiar with the exact behavior of |
The t-SNE algorithm doesn't run and it directly show the error: IOError: [Errno 2] No such file or directory: '/var/folders/92/8ty0c6392m773r5tbp4s9gy80000gp/T/tmpllxm8j/result.dat'. I think the problem is the input matrix so large, I will try it on some other machine. |
Can you please copy-paste the full output? Does the |
Here is the full output Error: could not open data file. The problem is that it can not find the intermediate file result.data. |
The way the code works is: (1) Python wrapper writes |
The file data.dat has been written. But there is no result.dat. I think the problem happens on step 3. |
I have run the data on another computer and I meet the same problem. Here is the output: Traceback (most recent call last): It still cannot find the result.dat and it also mentions MemoryError. |
@lvdmaaten , just wanted to ask.. for those of us using the wrapper from within another python program.. we do not expect to see a |
The Python wrapper is writing a The whole thing is pretty clunky... I've been meaning to change this to a FFI call, but I haven't got around to doing that yet. |
Understood. I guess I'm not seeing a data.dat then.. but it's likely related to the numppy crash I'm experiencing in OSX ... Edit : After installing openBLAS and compiling numpy, wrapper functions (except inside of jupyter notebook, but that's an understood limitation I think.) one last thing @lvdmaaten FFI means https://cffi.readthedocs.io/en/latest/overview.html ? |
FFI = Foreign function interface I think there exist several FFIs for Python; I've been using ctypes in the past. |
I ran python bh_tsne on a 95 * 745544 matrix, and here is my command ./bhtsne.py -i ~/Dropbox/github/data/lan_uid_matrix.txt -o ~/Dropbox/github/data/lan_uid_coordinate.txt -p 5 -d 2 -t 1 -v
but it shows the error as follows:
Error: could not open data file.
Traceback (most recent call last):
File "./bhtsne.py", line 233, in
exit(main(argv))
File "./bhtsne.py", line 224, in main
verbose=argp.verbose, initial_dims=argp.initial_dims, use_pca=argp.use_pca, max_iter=argp.max_iter):
File "./bhtsne.py", line 211, in run_bh_tsne
for result in bh_tsne(tmp_dir_path, verbose):
File "./bhtsne.py", line 164, in bh_tsne
with open(path_join(workdir, 'result.dat'), 'rb') as output_file:
IOError: [Errno 2] No such file or directory: '/var/folders/92/8ty0c6392m773r5tbp4s9gy80000gp/T/tmpakdFT0/result.dat'
I don't know why it can not find the result.dat. Could you help me solve it?
Thanks in advance
The text was updated successfully, but these errors were encountered: