Code Monkey home page Code Monkey logo

Comments (10)

YonghaoXu avatar YonghaoXu commented on August 16, 2024

As mentioned in the paper, we use the same hyper-parameter setting for all three datasets. For experiments on the Indian Pines and KSC datasets, just replace dataID=1 in SSUN.py to dataID=2 (for Indian Pines) and dataID=6 (for KSC), respectively.

from ssun.

aldiak avatar aldiak commented on August 16, 2024

As mentioned in the paper, we use the same hyper-parameter setting for all three datasets. For experiments on the Indian Pines and KSC datasets, just replace dataID=1 in SSUN.py to dataID=2 (for Indian Pines) and dataID=6 (for KSC), respectively.

Alright, thanks.

from ssun.

aldiak avatar aldiak commented on August 16, 2024

But when I change the data id only I am getting the following error:

OASpectral_IP[0:9,r] = ProducerA
ValueError: could not broadcast input array from shape (16) into shape (9)

from ssun.

YonghaoXu avatar YonghaoXu commented on August 16, 2024

This error could be solved by changing the initialization of OASpectral_IP by OASpectral_IP = np.zeros((16+2,randtime)), where 16 corresponds to the number of categories in the Indian Pines dataset.

from ssun.

aldiak avatar aldiak commented on August 16, 2024

I change it to:
OASpectral_IP = np.zeros((16+2,randtime))
s1s2=1
OASpectral_Pavia1 = 'spec1'
time_step = 3

But I am still getting this error:

File "SSUN.py", line 240, in
OASpectral_IP[0:9,r] = ProducerA
ValueError: could not broadcast input array from shape (16) into shape (9)

from ssun.

YonghaoXu avatar YonghaoXu commented on August 16, 2024

The ProducerA vector contains the producer accuracy of the input data. Since there are 16 categories in the Indian Pines dataset, the ProducerA vector should also have 16 elements. Thus, you can simply replace the 9 in the bracket by 16. Similar modification could be made for the KSC dataset.

from ssun.

aldiak avatar aldiak commented on August 16, 2024

That is all the modification:

OASpectral_IP = np.zeros((16+2,randtime))
s1s2=1
OASpectral_Pavia1 = 'spec1'
time_step = 3

for r in range(0,randtime):

#################Pavia#################
dataID=2
data = HyperspectralSamples(dataID=dataID, timestep=time_step, w=w, num_PC=num_PC, israndom=israndom, s1s2=s1s2)
X = data[0]
X_train = data[1]
X_test = data[2]
XP = data[3]
XP_train = data[4]
XP_test = data[5]
Y = data[6]-1
Y_train = data[7]-1
Y_test = data[8]-1

batch_size = 128

nb_classes = Y_train.max()+1
nb_epoch = 50
nb_features = X.shape[-1]

img_rows, img_cols = XP.shape[1],XP.shape[1]
# convert class vectors to binary class matrices
y_train = np_utils.to_categorical(Y_train, nb_classes)
y_test = np_utils.to_categorical(Y_test, nb_classes)

model = LSTM_RS(time_step=time_step,nb_features=nb_features)
tic1 = time.clock()
histloss=model.fit([X_train], [y_train], nb_epoch=nb_epoch, batch_size=batch_size, verbose=1, shuffle=True)
losses = histloss.history
toc1 = time.clock()

tic2 = time.clock()

PredictLabel = model.predict([X_test],verbose=1).argmax(axis=-1)
toc2 = time.clock()

OA,Kappa,ProducerA = CalAccuracy(PredictLabel,Y_test[:,0])    
OASpectral_IP[0:16,r] = ProducerA
OASpectral_IP[-2,r] = OA
OASpectral_IP[-1,r] = Kappa

But still getting error:

Traceback (most recent call last):
File "SSUN.py", line 254, in
X_result = DrawResult(Spectral,1)
File "/home/alou/Desktop/ssun/train.py", line 117, in DrawResult
X_result[np.where(labels==i),0] = palette[i,0]
IndexError: index 9 is out of bounds for axis 0 with size 9

from ssun.

aldiak avatar aldiak commented on August 16, 2024

the train.py here represent your helper function.

from ssun.

YonghaoXu avatar YonghaoXu commented on August 16, 2024

You need to change the imageID in DrawResult func to generate the corresponding classification map. Please refer to the DrawResult func in HyperFunctions.py for details.

from ssun.

aldiak avatar aldiak commented on August 16, 2024

from ssun.

Related Issues (12)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.