【问题标题】:Tensorflow 'numpy.ndarray' object has no attribute 'train'Tensorflow 'numpy.ndarray' 对象没有属性 'train'
【发布时间】:2018-01-29 04:16:35
【问题描述】:

我也遇到同样的问题Training TensorFlow for Predicting a Column in a csv file 是:

AttributeError Traceback (last last call last) in () 1 for i in 范围(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!")

【问题讨论】:

  • 这里的 x_input 只是一个 numpy 数组。您需要编写自己的火车数据迭代器
  • 感谢您的回复。你能详细说明一下吗?有什么例子和链接可以跟进吗?我想我需要向 tensorflow 提供数据,但我不知道该怎么做
  • 引用错误日志
  • 错误日志为:AttributeError: 'numpy.ndarray' object has no attribute 'train'
  • 从 numpy 数组(或多个数组)创建 tensorflow 对象(使用 train 方法)不是 tensorflow 文档或教程的基本部分吗?如果您在设置问题方面已经走到了这一步,那么您肯定已经遇到过有关如何创建此类对象的说明。

标签: numpy tensorflow


【解决方案1】:

我认为您是从 MNIST 示例中复制此模式:data.train.next_batch

在 MNIST 示例中,数据作为具有训练变量的类的对象读取,而您仅将数据作为 NumPy 数组读取。

【讨论】:

  • 是的,我是。原件来自 MNIST 示例:mnist.train.next_batch。如何编辑我的数据?
猜你喜欢
  • 2017-07-10
  • 1970-01-01
  • 1970-01-01
  • 2020-09-22
  • 2020-02-21
  • 2020-12-08
  • 2019-12-10
  • 2020-05-10
相关资源
最近更新 更多