MNIST数据集输入数组应与目标数组具有相同数量的样本

papcordzyyuq

我在实现MNIST数据集时出错,

ValueError:输入数组应具有与目标数组相同的样本数。找到60000个输入样本和10000个目标样本。

我尝试根据相同错误的建议重塑并标准化training_images和test_images,但未成功

 import tensorflow as tf
 from os import path, getcwd, chdir
 path = f"{getcwd()}/../tmp2/mnist.npz"
   
 config = tf.ConfigProto()
 config.gpu_options.allow_growth = True
 sess = tf.Session(config=config)

 def train_mnist():

 class myCallback(tf.keras.callbacks.Callback):
      def on_epoch_end(self, epoch, logs={}):
        if(logs.get('acc')>0.998):
            print("/n Reached 99.8% accuracy so cancelling training!")
            self.model.stop_training = True
  


mnist = tf.keras.datasets.mnist
(training_images, training_labels), (test_images, test_labels) = mnist.load_data(path=path)


callbacks=myCallback()

training_images=training_images.reshape(60000, 28, 28, 1)
test_images=test_images.reshape(10000, 28, 28, 1)
training_images = training_images / 255.0
test_images = test_images / 255.0

model = tf.keras.models.Sequential([
        # YOUR CODE STARTS HERE
        tf.keras.layers.Conv2D(64, (3,3), activation='relu', input_shape=(28, 28, 1)),
        tf.keras.layers.MaxPooling2D(2, 2),
        tf.keras.layers.Flatten(),
        tf.keras.layers.Dense(256, activation='relu'),
        tf.keras.layers.Dense(10, activation='softmax')
        # YOUR CODE ENDS HERE
])

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

history = model.fit(training_images,test_images,epochs=19,callbacks=[callbacks])


return history.epoch, history.history['acc'][-1]



_, _ = train_mnist

错误

WARNING: Logging before flag parsing goes to stderr.
W0127 18:52:34.933709 140418551342912 deprecation.py:506] From /usr/local/lib/python3.6/dist-packages/tensorflow/python/ops/init_ops.py:1251: calling VarianceScaling.__init__ (from tensorflow.python.ops.init_ops) with dtype is deprecated and will be removed in a future version.
Instructions for updating:
Call initializer instance with the dtype argument instead of passing it to the constructor
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-5-1ff3c304aec3> in <module>
----> 1 _, _ = train_mnist_conv()

<ipython-input-3-57c5d09d3058> in train_mnist_conv()
     42     history = model.fit(
     43         # YOUR CODE STARTS HERE
---> 44           training_images,test_images,epochs=19,callbacks=[callbacks]
     45 
     46         # YOUR CODE ENDS HERE

/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/training.py in fit(self, x, y, batch_size, epochs, verbose, callbacks, validation_split, validation_data, shuffle, class_weight, sample_weight, initial_epoch, steps_per_epoch, validation_steps, validation_freq, max_queue_size, workers, use_multiprocessing, **kwargs)
    707         steps=steps_per_epoch,
    708         validation_split=validation_split,
--> 709         shuffle=shuffle)
    710 
    711     # Prepare validation data.

/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/training.py in _standardize_user_data(self, x, y, sample_weight, class_weight, batch_size, check_steps, steps_name, steps, validation_split, shuffle, extract_tensors_from_dataset)
   2686       # Check that all arrays have the same length.
   2687       if not self._distribution_strategy:
-> 2688         training_utils.check_array_lengths(x, y, sample_weights)
   2689         if self._is_graph_network and not self.run_eagerly:
   2690           # Additional checks to avoid users mistakenly using improper loss fns.

/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/training_utils.py in check_array_lengths(inputs, targets, weights)
    481                      'the same number of samples as target arrays. '
    482                      'Found ' + str(list(set_x)[0]) + ' input samples '
--> 483                      'and ' + str(list(set_y)[0]) + ' target samples.')
    484   if len(set_w) > 1:
    485     raise ValueError('All sample_weight arrays should have '

ValueError: Input arrays should have the same number of samples as target arrays. Found 60000 input samples and 10000 target samples.
Frightera

拟合模型时,您需要传递训练图像,并且要学习它们,还需要传递训练标签。

标签是您要预测的数字。所以应该像这样:

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ValueError:输入数组的样本数应与目标数组相同。找到 1600 个输入样本和 1800 个目标样本

来自分类Dev

ValueError:输入数组的样本数应与目标数组相同。找到 1 个输入样本和 513 个目标样本

来自分类Dev

Numpy hstack-“ ValueError:所有输入数组必须具有相同数量的维数”-但它们确实

来自分类Dev

Numpy hstack-“ ValueError:所有输入数组必须具有相同数量的维数”-但它们确实

来自分类Dev

生成具有大数据集的样本

来自分类Dev

获取与数组具有相同类的所有输入的值

来自分类Dev

向量/数组中具有概率的样本

来自分类Dev

连接之前的输入数组必须具有相同的维数

来自分类Dev

有没有办法在每个样本中划分具有相同比例类别值的数据集?

来自分类Dev

计算两个数组中具有相同索引的相似值的数量MATLAB

来自分类Dev

ArrayList 具有可变数量的数组

来自分类Dev

检查数组是否具有相同的条目

来自分类Dev

具有相同类的元素ID的数组

来自分类Dev

如何合并具有相同键的数组?

来自分类Dev

合并具有相同ID的数组

来自分类Dev

合并具有相同值的数组

来自分类Dev

PHP:合并具有相同元素的数组

来自分类Dev

具有相同大小矩阵的多维数组

来自分类Dev

合并具有相同键值的数组

来自分类Dev

如何合并具有相同键值的数组

来自分类Dev

jQuery从具有相同类的多个输入创建实时数组

来自分类Dev

将元素具有不同数量的逗号分隔数据的转换数组转换为data.frame

来自分类Dev

将元素具有不同数量的逗号分隔数据的转换数组转换为data.frame

来自分类Dev

ValueError:数据基数不明确。确保所有阵列都包含相同数量的样本

来自分类Dev

具有稀疏数据的列表消耗的内存更少,然后消耗的数据与numpy数组相同

来自分类Dev

两个具有对象的数组将成为具有相同长度的新数组,但所有数据均来自原始数组

来自分类Dev

具有不同输入的systemverilog接口数组

来自分类Dev

javascript-具有输入数组的addEventListener

来自分类Dev

jQuery | 具有多维数组的输入名称

Related 相关文章

  1. 1

    ValueError:输入数组的样本数应与目标数组相同。找到 1600 个输入样本和 1800 个目标样本

  2. 2

    ValueError:输入数组的样本数应与目标数组相同。找到 1 个输入样本和 513 个目标样本

  3. 3

    Numpy hstack-“ ValueError:所有输入数组必须具有相同数量的维数”-但它们确实

  4. 4

    Numpy hstack-“ ValueError:所有输入数组必须具有相同数量的维数”-但它们确实

  5. 5

    生成具有大数据集的样本

  6. 6

    获取与数组具有相同类的所有输入的值

  7. 7

    向量/数组中具有概率的样本

  8. 8

    连接之前的输入数组必须具有相同的维数

  9. 9

    有没有办法在每个样本中划分具有相同比例类别值的数据集?

  10. 10

    计算两个数组中具有相同索引的相似值的数量MATLAB

  11. 11

    ArrayList 具有可变数量的数组

  12. 12

    检查数组是否具有相同的条目

  13. 13

    具有相同类的元素ID的数组

  14. 14

    如何合并具有相同键的数组?

  15. 15

    合并具有相同ID的数组

  16. 16

    合并具有相同值的数组

  17. 17

    PHP:合并具有相同元素的数组

  18. 18

    具有相同大小矩阵的多维数组

  19. 19

    合并具有相同键值的数组

  20. 20

    如何合并具有相同键值的数组

  21. 21

    jQuery从具有相同类的多个输入创建实时数组

  22. 22

    将元素具有不同数量的逗号分隔数据的转换数组转换为data.frame

  23. 23

    将元素具有不同数量的逗号分隔数据的转换数组转换为data.frame

  24. 24

    ValueError:数据基数不明确。确保所有阵列都包含相同数量的样本

  25. 25

    具有稀疏数据的列表消耗的内存更少,然后消耗的数据与numpy数组相同

  26. 26

    两个具有对象的数组将成为具有相同长度的新数组,但所有数据均来自原始数组

  27. 27

    具有不同输入的systemverilog接口数组

  28. 28

    javascript-具有输入数组的addEventListener

  29. 29

    jQuery | 具有多维数组的输入名称

热门标签

归档