'list' object not callable - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: General Coding Help (https://python-forum.io/forum-8.html) +--- Thread: 'list' object not callable (/thread-31214.html) |
'list' object not callable - sidra - Nov-28-2020 hi i am new to python. iam working on lstm model. i want to plot graph of loss and accuracy. i know that model history is saved. i have used below code. var1=history. history['loss'] plt.plot(var1) but I got an error. plt.plot(var1) Traceback (most recent call last): File "<ipython-input-124-f96da71a5192>", line 1, in <module> plt.plot(var1) TypeError: 'list' object is not callable please help me in removing this error. thank you. RE: 'list' object not callable - bowlofred - Nov-28-2020 It looks like you expect plt to be an object that has a plot() method. But instead it's just a list. Possibly you are create plt incorrectly. Without seeing the code, we cannot guess.
RE: 'list' object not callable - sidra - Nov-28-2020 (Nov-28-2020, 06:43 PM)bowlofred Wrote: It looks like you expect model = Sequential() model.add(LSTM(lstm_units, input_shape=(num_timestamps,1))) model.add(Dense(dense_units, activation='relu')) model.add(Dense(dense_units, activation='relu')) model.add(Dense(dense_units, activation='relu')) model.add(Dense(num_classes, activation='softmax')) model.compile(loss=tf.keras.losses.categorical_crossentropy, optimizer='adam', metrics=['accuracy']) print('Model compiled successfully') # --- Fit model history=model.fit(train_X, train_Y ,epochs=epochs, batch_size=batch_size, verbose=1, validation_split=0.2) print('Model fit successfully') .... accuracy = model.evaluate(test_X, test_Y, batch_size=batch_size, verbose=1) print('Evaluation of the model completed') print(accuracy[1]*100, 'percent') plt.plot(history.history['loss']) plt.plot(history.history['val_loss']) plt.title('model loss') plt.ylabel('loss') plt.xlabel('epoch') plt.legend(['train', 'test'], loc='upper left') plt.show() plt.plot(history.history['accuracy']) plt.plot(history.history['val_accuracy']) plt.title('model accuracy') plt.ylabel('accuracy') plt.xlabel('epoch') plt.legend(['train', 'test'], loc='upper left') plt.show() RE: 'list' object not callable - bowlofred - Nov-28-2020 Still not enough. Nowhere in that code is plt assigned. It's used on line 18, but it must be assigned somewhere before that. You would get a different error if that were all your code.
RE: 'list' object not callable - sidra - Nov-29-2020 (Nov-28-2020, 09:46 PM)bowlofred Wrote: Still not enough. Nowhere in that code is import csv import numpy as np from pandas import read_csv import tensorflow as tf from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense from tensorflow.keras.layers import LSTM from tensorflow.keras.callbacks import TensorBoard import matplotlib.pyplot as plt model = Sequential() model.add(LSTM(lstm_units, input_shape=(num_timestamps,1))) model.add(Dense(dense_units, activation='relu')) model.add(Dense(dense_units, activation='relu')) model.add(Dense(dense_units, activation='relu')) model.add(Dense(num_classes, activation='softmax')) model.compile(loss=tf.keras.losses.categorical_crossentropy, optimizer='adam', metrics=['accuracy']) print('Model compiled successfully') # --- Fit model history=model.fit(train_X, train_Y ,epochs=epochs, batch_size=batch_size, verbose=1, validation_split=0.2) print('Model fit successfully') .... accuracy = model.evaluate(test_X, test_Y, batch_size=batch_size, verbose=1) print('Evaluation of the model completed') print(accuracy[1]*100, 'percent') plt.plot(history.history['loss']) plt.plot(history.history['val_loss']) plt.title('model loss') plt.ylabel('loss') plt.xlabel('epoch') plt.legend(['train', 'test'], loc='upper left') plt.show() RE: 'list' object not callable - bowlofred - Nov-29-2020 Are these two separate pieces of code? Your first post (with the error) has lines in it that aren't found elsewhere. I asked to understand more of what was happening in the first code, but the other listings seem to be something else. What's the relationship between the lines with the error and the rest of the code you've posted? In your initial error, the problem is that instead of just being the import of matplotlib.pyplot, plt was probably reassigned to a list. Don't do that and the error shouldn't happen. The actual place it's happening isn't in any of the code that's been posted.
|