Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python ';元组';对象没有属性';列车';_Python_Tensorflow_Machine Learning_Deep Learning - Fatal编程技术网

Python ';元组';对象没有属性';列车';

Python ';元组';对象没有属性';列车';,python,tensorflow,machine-learning,deep-learning,Python,Tensorflow,Machine Learning,Deep Learning,我得到的答案是“tuple”对象没有属性“train”。我不能理解这个错误(我正在使用谷歌colab)。请帮助我,尽可能详细地解释一下(培训部分)。我的代码在下面。提前多谢 %tensorflow_version 1.x ## loading nessecery functions and CIFAR10 dataset from __future__ import print_function import tensorflow as tf from tensorflow.keras

我得到的答案是“tuple”对象没有属性“train”。我不能理解这个错误(我正在使用谷歌colab)。请帮助我,尽可能详细地解释一下(培训部分)。我的代码在下面。提前多谢

%tensorflow_version 1.x

## loading nessecery functions and CIFAR10 dataset 

from __future__ import print_function

import tensorflow as tf

from tensorflow.keras.datasets import cifar10

tf.__version__

((train_X, train_y), (test_X, test_y)) = cifar10.load_data()
print(f"train_X: {train_X.shape}, test_X = {test_X.shape}")

cifar10 = cifar10.load_data()

# define placeholder for inputs to network
X = tf.placeholder(tf.float32, [None, 3072])/255.0   # 32x32x3
Y = tf.placeholder(tf.float32, [None, 10])
keep_prob = tf.placeholder(tf.float32)

learning_rate = 0.001
training_epochs =10
batch_size = 30

# weights & bias for nn layers
W = tf.Variable(tf.random_normal([3072, 10]))
b = tf.Variable(tf.random_normal([10]))
hypothesis = tf.matmul(X, W) + b

# define cost/loss & optimizer
cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits=hypothesis, labels=Y))
optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate).minimize(cost)

# initialize
sess = tf.Session()
sess.run(tf.global_variables_initializer())

# train my model
for epoch in range(training_epochs):
   avg_cost = 0
   num_examples = 50000
   total_batch = int(num_examples / batch_size)
我的问题在这里

 for i in range(total_batch):
       batch_xs, batch_ys = cifar10.train.next_batch(batch_size)
       feed_dict = {X: batch_xs, Y: batch_ys}
       c, _ = sess.run([cost, optimizer], feed_dict=feed_dict)
       avg_cost += c / total_batch

   print('Epoch:', '%04d' % (epoch + 1), 'cost =', '{:.9f}'.format(avg_cost))

print('Learning Finished!')



# Test model and check accuracy
correct_prediction = tf.equal(tf.argmax(hypothesis, 1), tf.argmax(Y, 1))
accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
print('Accuracy:', sess.run(accuracy, feed_dict={X: cifar10.test.images, Y: cifar10.test.labels}))

您正试图从
cifar10.load_data()
生成的元组访问
train
属性。您已经在上一步中正确加载了数据:

(x_train, y_train), (x_test, y_test) = cifar10.load_data()
cifar10.load_data()
是一个数据加载器,它返回数据集的序列集和测试集

如果您想实现一个
next\u batch
方法来执行上述操作,那么您需要定义一个定制的helper类,这是非常常用的。这是一个例子