본문 바로가기

머신러닝 & 딥러닝 공부/Tensorflow

[Tensorflow 오류해결] TypeError: '>' not supported between instances of 'NoneType' and 'float'

반응형

 

 

 

안녕하세요

27년차 진로탐색꾼 조녁입니다~!

 

동일한 코드가 Colaboratory에서와 Jupyter Notebook에서 다르게 작동해서 남깁니다!

아래 코드에서 보라색 표시 해둔 부분에서 상이했는데, Colab에서는 'accuracy'라고 해야 작동했고 'acc'로 했을 때는 아래 오류가 발생했습니다.

반대로, 쥬피터에서는 'acc'라고 해야만 작동하고 'accuracy'라고 하면 아래와 같은 오류가 발생했습니다.

[내 코드]

import tensorflow as tf

print(tf.__version__)

class myCallback(tf.keras.callbacks.Callback):

def on_epoch_end(self, epoch, logs={}):

if (logs.get('acc')>0.998):

print("\nReached 99.8% accuracy so cancelling training!")

self.model.stop_training = True

 

callbacks = myCallback()

 

mnist = tf.keras.datasets.mnist

(training_images, training_labels), (test_images, test_labels) = mnist.load_data()

 

training_images = training_images.reshape(60000,28,28,1)

training_images = training_images/255.0

test_images = test_images.reshape(10000,28,28,1)

test_images = test_images/255.0

 

model = tf.keras.models.Sequential([

tf.keras.layers.Conv2D(64, (3,3), activation='relu',input_shape=(28,28,1)),

tf.keras.layers.MaxPooling2D(2,2),

tf.keras.layers.Conv2D(64, (3,3), activation='relu'),

tf.keras.layers.MaxPooling2D(2,2),

tf.keras.layers.Flatten(),

tf.keras.layers.Dense(128,activation='relu'),

tf.keras.layers.Dense(10,activation='softmax')

])

 

model.compile(optimizer='adam',loss='sparse_categorical_crossentropy', metrics=['accuracy'])

history = model.fit(training_images,training_labels,epochs=20,callbacks=[callbacks])

test_loss,test_acc = model.evaluate(test_images,test_labels)

print(test_acc)

 

 

이유가 정확하지 않아서 혹시 아시는 분 계신다면 댓글로 남겨주세요! 

일단 호환되도록 바꿔서 돌리면 잘 돌아갔습니다.

반응형