更改MNIST Tensorflow的类数

更改MNIST Tensorflow的类数,tensorflow,mnist,softmax,Tensorflow,Mnist,Softmax,嗨,我正在尝试用MNIST和softmax改编Tensorflow的初学者教程。在本教程中,您有10个类别(数字0-9)。 现在,使用不同的数据集(EMNIST),我有62个数字和字母类。 我在原始示例的模型中得到的是: x = tf.placeholder(tf.float32, [None, 784]) W = tf.Variable(tf.zeros([784, 10])) b = tf.Variable(tf.zeros([10])) y = tf.matmul(x, W) + b`

嗨,我正在尝试用MNIST和softmax改编Tensorflow的初学者教程。在本教程中,您有10个类别(数字0-9)。 现在,使用不同的数据集(EMNIST),我有62个数字和字母类。 我在原始示例的模型中得到的是:

x = tf.placeholder(tf.float32, [None, 784])
W = tf.Variable(tf.zeros([784, 10]))
b = tf.Variable(tf.zeros([10]))
y = tf.matmul(x, W) + b`
其中784表示28x28图像的总像素,10表示类别数。我想要的是:

x = tf.placeholder(tf.float32, [None, 784])
W = tf.Variable(tf.zeros([784, 62]))
b = tf.Variable(tf.zeros([62]))
y = tf.matmul(x, W) + b`
62节课。 但当我到达代码的这一部分时,调用下一批执行:

  for _ in range(1000):
batch_xs, batch_ys = mnist.train.next_batch(100)
sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys}) 
我得到这个错误。。。 回溯(最近一次呼叫最后一次):

文件“书法.py”,第77行,在
tf.app.run(main=main,argv=[sys.argv[0]]]+未解析)
文件“C:\Users\Willy Barales\Anaconda3\lib\site packages\tensorflow\python\platform\app.py”,第48行,正在运行
_系统出口(主(_sys.argv[:1]+标志_passthrough))
文件“书法.py”,第64行,主
sess.run(train_step,feed_dict={x:batch_xs,y_u:batch_ys})
文件“C:\Users\Willy Barales\Anaconda3\lib\site packages\tensorflow\python\client\session.py”,第789行,正在运行
运行_元数据_ptr)
文件“C:\Users\Willy Barales\Anaconda3\lib\site packages\tensorflow\python\client\session.py”,第975行,正在运行
%(np_val.shape,subfeed_t.name,str(subfeed_t.get_shape()))
ValueError:无法为具有形状“(?,62)”的张量“占位符_1:0”提供形状(100,10)的值
关于如何更改此示例的数据集,您有什么想法吗? 是否必须更改mnist.py文件中实现.next_batch()的位置

据我所知,EMNIST的格式与MNIST完全相同。 提前谢谢

有关新数据集的信息:

我所要做的就是在mnist.py文件中编辑从标签创建一个热向量的部分,因为这些是对应于批次的向量,这要感谢Neijla的启发

def extract_labels(f, one_hot=False, num_classes=62)

当然,除此之外,正如我在问题中首先提到的,改变模型中的类的数量

是的,mnist.train.下一批(100)返回您的批(100,10)大小,您希望它是(100,62),谢谢!我所要做的就是在mnist.py文件中编辑从标签创建一个热向量的部分,因为这些是对应于批处理的部分<代码>def extract_标签(f,one_hot=False,num_classes=62)
def extract_labels(f, one_hot=False, num_classes=62)