我也遇到了同样的问题Training TensorFlow for Predicting a Column in a csv file:
对于i in,()1中的AttributeError Traceback(最近的最后一次调用) 范围(1000):----> 2 batch_xs,batch_ys = data.train.next_batch(100)3 sess.run(train_step,feed_dict = {x:batch_xs,y_:batch_ys})
AttributeError:' numpy.ndarray'对象没有属性' train'
你如何解决它?
from __future__ import print_function
import matplotlib.pyplot as plt
import numpy as np
import matplotlib
# Import MNIST data
#from tensorflow.examples.tutorials.mnist import input_data
#mnistt = input_data.read_data_sets("/tttmp/data/", one_hot=True)
from numpy import genfromtxt
import csv
import tensorflow as tf
%matplotlib inline
# Read data...
x_input = genfromtxt('Data_Coffee.csv',delimiter=',')
y_input = genfromtxt('Class_Coffee.csv',delimiter=',')
data=genfromtxt('Data_Coffee.csv',delimiter=',')
matSize = np.shape(data)
# Parameters
learning_rate = 0.001
training_epochs = 15
batch_size = 100
display_step = 1
# tf Graph input
x = tf.placeholder(tf.float32, [None, matSize[0]])
y = tf.placeholder(tf.float32, [None, matSize[1]])
#x= genfromtxt('Data_Coffee.csv',delimiter=',')
#y= genfromtxt('Class_Coffee.csv',delimiter=',')
# Initializing the variables
init = tf.global_variables_initializer()
# Launch the graph
with tf.Session() as sess:
sess.run(init)
# Training cycle
for epoch in range(training_epochs):
avg_cost = 0.
total_batch = int(x.train.num_examples/batch_size)
# Loop over all batches
for i in range(total_batch):
batch_x, batch_y = data.train.next_batch(batch_size)
# Run optimization op (backprop) and cost op (to get loss value)
_, c = sess.run([optimizer, cost], feed_dict={x: batch_x, y: batch_y})
# Compute average loss
avg_cost += c / total_batch
# Display logs per epoch step
if epoch % display_step == 0:
print("Epoch:", '%04d' % (epoch+1), "cost=", \
"{:.9f}".format(avg_cost))
print("Optimization Finished!")
答案 0 :(得分:1)
我认为你是从MNIST例子中复制这种模式的:data.train.next_batch
在MNIST示例中,数据被读取为具有训练变量的类的对象,而您只是将数据作为NumPy数组读取。