KlugerLab / SpectralNet

Deep network that performs spectral clustering
MIT License
320 stars 103 forks source link

AttributeError: 'Function' object has no attribute 'outputs' #2

Open Roseblac opened 6 years ago

Roseblac commented 6 years ago

image When I tried to run run.py --gpu=gpu_num --dset=mnist,this error came out.

Each dataset has different types of 'AttributeError' for example: for dataset cc : the error is "AttributeError: 'TensorVariable' object has no attribute 'get_shape'"

My OS is: ubuntu 16.04

My package list :

packages in environment at /root/anaconda2/envs/tensorflow_python3:

#

Name Version Build Channel

absl-py 0.1.10 py36_0 astor 0.6.2 py36_0 binutils_impl_linux-64 2.28.1 had2808c_3 binutils_linux-64 7.2.0 26 bleach 1.5.0 py36_0 ca-certificates 2017.08.26 h1d4fec5_0 certifi 2018.1.18 py36_0 gast 0.2.0 py36_0 gcc_impl_linux-64 7.2.0 habb00fd_3 gcc_linux-64 7.2.0 26 grpcio 1.10.0 py36hf484d3e_0 gxx_impl_linux-64 7.2.0 hdf63c60_3 gxx_linux-64 7.2.0 26 h5py 2.7.1 py36h3585f63_0 hdf5 1.10.1 h9caa474_1 html5lib 0.9999999 py36_0 intel-openmp 2018.0.0 8 keras 2.1.5 py36_0 libedit 3.1 heed3624_0 libffi 3.2.1 hd88cf55_4 libgcc-ng 7.2.0 hdf63c60_3 libgfortran-ng 7.2.0 hdf63c60_3 libgpuarray 0.7.5 h14c3975_0 libprotobuf 3.5.1 h6f1eeef_0 libstdcxx-ng 7.2.0 hdf63c60_3 mako 1.0.7 py36h0727276_0 markdown 2.6.11 py36_0 markupsafe 1.0 py36hd9260cd_1 mkl 2018.0.2 1 mkl-service 1.1.2 py36h17a0993_4 mkl_fft 1.0.1 py36h3010b51_0 mkl_random 1.0.1 py36h629b387_0 munkres 1.0.12 munkres 1.0.7 py36_0 omnia ncurses 6.0 h9df7e31_2 numpy 1.14.2 py36hdbf6ddf_1 openssl 1.0.2o h20670df_0 pip 9.0.1 py36_5 protobuf 3.5.1 py36hf484d3e_0 pygpu 0.7.5 py36h14c3975_0 python 3.6.4 hc3d631a_3 python-annoy 1.10.0 py36_0 conda-forge pyyaml 3.12 py36hafb9ca4_1 readline 7.0 ha6073c6_4 scikit-learn 0.19.1 py36h7aa7ec6_0 scipy 1.0.1 py36hfc37229_0 setuptools 39.0.1 py36_0 six 1.11.0 py36h372c433_1 sqlite 3.22.0 h1bed415_0 tensorboard 1.6.0 py36hf484d3e_0 tensorflow 1.6.0 0 tensorflow-base 1.6.0 py36hff88cb2_0 termcolor 1.1.0 py36_1 theano 1.0.1 py36h6bb024c_0 tk 8.6.7 hc745277_3 werkzeug 0.14.1 py36_0 wheel 0.30.0 py36hfd4bba0_1 xz 5.2.3 h55aa19d_2 yaml 0.1.7 had09818_2 zlib 1.2.11 ha838bed_2

My python version: 3.6

Roseblac commented 6 years ago

Please give me some advice to solve it.Thanks. If you need other information, I will upload later.

lihenryhfl commented 6 years ago

Hi, thanks for raising this issue. I did not mention this, but our code presently works only with the tensorflow backend in keras. It seems like you might be using Theano. Please take a look here, and change the backend appropriately

Roseblac commented 6 years ago

Thanks!.I was very appreciated that you could help me solve it. I had changed the backend in keras and it did works. But another Attribute Error came out. I had tried different datasets and they all had this error. How can I solve this problem? It seems my environment has some problems but I did not know how to reset it. : ( image AttributeError: 'NoneType' object has no attribute 'stop_training'

lihenryhfl commented 6 years ago

This seems to stem from a change in how models are created in the newest version of Keras. This is circumvented by simply checking if self.model is None before trying to access stop_training. I've made this change and pushed it. Things should work now. Can you try running the model again with the new code?

Roseblac commented 6 years ago

Thanks very much for the new code.Yes,it works.But only reuters and mnist. When i tried to run with the cc and semisup dataset, it will cause the "ValueError". image So i started to search for the variable "biased", But it was in the keras package. and I am not sure about what part of my environment has problems. Is that still the problem of the version of keras? How can I solve this problem? Thanks for your help again. :)

weishao6hao commented 6 years ago

I also had the same problem. The most important thing is that the dataset cannot converge.

Roseblac commented 6 years ago

since it gave me the location of the original definition, I was not sure which variable was the key problem. Do you have any ideas about that? Thanks. :)

lihenryhfl commented 6 years ago

Strange, I can't reproduce your issue. I've tried running on Ubuntu 14.04, Ubuntu 17.10, and macOS 10.13.3, tensorflow versions 1.4-1.7, and the latest version of keras. Any way you guys could try running the code on a different machine?

Roseblac commented 6 years ago

Apologize for my answer is late. I will try to use a different machine. But I don't know why it cames out such a error about tf.variable. Thank you.

ShanCao18 commented 5 years ago

Apologize for my answer is late. I will try to use a different machine. But I don't know why it cames out such a error about tf.variable. Thank you.

Thanks very much for the new code.Yes,it works.But only reuters and mnist. When i tried to run with the cc and semisup dataset, it will cause the "ValueError". image So i started to search for the variable "biased", But it was in the keras package. and I am not sure about what part of my environment has problems. Is that still the problem of the version of keras? How can I solve this problem? Thanks for your help again. :)

I had the same problem.Have you solved it now?