質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

解決済

mnist for ML Beginnersについて

ruuruusann24
ruuruusann24

総合スコア0

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

2回答

0評価

1クリップ

2閲覧

投稿2018/01/21 18:47

https://qiita.com/kkk3H/items/c3eb0d868170b29b0b87

こちらの記事を読ませていただいて自分も同じことをしてみたいと思ってやってみたのですが、うまく行きませんでした。
最初の
data = data_set.read_data_sets(one_hot=True)
でエラーが出てしまっていると思うのですがなぜエラーが出てしまうのかわかりません。
よろしくお願いします。

Jupyter Notebook
Python 3.6.4
TensorFlow 1.3.0
NumPy 1.13.3

python

import tensorflow as tf import dataset data = data_set.read_data_sets(one_hot=True) x = tf.placeholder(tf.float32, [None, 784]) y_ = tf.placeholder(tf.float32, [None, 3]) W = tf.Variable(tf.zeros([784, 3])) b = tf.Variable(tf.zeros([3])) y = tf.nn.softmax(tf.matmul(x, W) + b) cross_entropy = -tf.reduce_sum(y_ * tf.log(y)) train_step = tf.train.GradientDescentOptimizer(0.01).minimize(cross_entropy) init = tf.initialize_all_variables() sess = tf.Session() sess.run(init) for i in range(100): batch_xs, batch_ys = data.train.next_batch(10) sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys}) correct_prediction = tf.equal(tf.argmax(y, 1), tf.argmax(y_, 1)) accuracy = tf.reduce_mean(tf.cast(correct_prediction, "float")) sess.run(accuracy, feed_dict={x: data.test.images, y_: data.test.labels})

python

"data_set.py" import numpy from tensorflow.python.framework import dtypes import collections Datasets = collections.namedtuple('datasets', ['train', 'validation', 'test']) def dense_to_one_hot(labels_dense, num_classes): num_labels = labels_dense.shape[0] index_offset = numpy.arange(num_labels) * num_classes labels_one_hot = numpy.zeros((num_labels, num_classes)) labels_one_hot.flat[index_offset + labels_dense.ravel()] = 1 return labels_one_hot class DataSet(object): def __init__(self, images, labels): self._images = images self._labels = labels self._num_examples = images.shape[0] self._epochs_completed = 0 self._index_in_epoch = 0 self._epoch_test = 0 self._index_in_epoch_test = 0 @property def images(self): return self._images @property def labels(self): return self._labels @property def num_examples(self): return self._num_examples @property def epochs_completed(self): return self._epochs_completed @property def epoch_test(self): return self._epoch_test def next_batch(self, batch_size, shuffle=True): start = self._index_in_epoch # Shuffle for the first epoch if self._epochs_completed == 0 and start == 0 and shuffle: perm0 = numpy.arange(self._num_examples) numpy.random.shuffle(perm0) self._images = self.images[perm0] self._labels = self.labels[perm0] # Go the the next epoch if start + batch_size > self._num_examples: # Finished epoch self._epochs_completed += 1 # Get the rest examples in this epoch rest_num_examples = self._num_examples - start data_rest_part = self._images[start:self._num_examples] label_rest_part = self._labels[start:self._num_examples] # Shuffle the data if shuffle: perm = numpy.arange(self._num_examples) numpy.random.shuffle(perm) self._images = self.images[perm] self._labels = self.labels[perm] # Start next epoch start = 0 self._index_in_epoch = batch_size - rest_num_examples end = self._index_in_epoch data_new_part = self._images[start:end] label_new_part = self._labels[start:end] return numpy.concatenate((data_rest_part, data_new_part), axis = 0), numpy.concatenate((label_rest_part, label_new_part), axis = 0) else: self._index_in_epoch += batch_size end = self._index_in_epoch return self._images[start:end], self._labels[start:end] def read_data_sets(one_hot=False, dtype=dtypes.float32, reshape=True, validation_size=1000, test_size=500): """Construct a data set from a given directory path of the data""" images = numpy.load('./imgs.npy') labels = numpy.load('./labels.npy') if reshape: images = numpy.reshape(images, (-1, numpy.prod(images.shape[1:]))) if one_hot: labels = dense_to_one_hot(labels, 3) validation_images = images[:validation_size] validation_labels = labels[:validation_size] test_images = images[validation_size:validation_size+test_size] test_labels = labels[validation_size:validation_size+test_size] train_images = images[validation_size+test_size:] train_labels = labels[validation_size+test_size:] train = DataSet(train_images, train_labels) validation = DataSet(validation_images, validation_labels) test = DataSet(test_images, test_labels) return Datasets(train=train, validation=validation, test=test)

以下エラー文です

--------------------------------------------------------------------------- TypeError Traceback (most recent call last) ~/anaconda3/envs/tf/lib/python3.6/site-packages/numpy/core/fromnumeric.py in _wrapfunc(obj, method, *args, **kwds) 56 try: ---> 57 return getattr(obj, method)(*args, **kwds) 58 TypeError: 'numpy.float64' object cannot be interpreted as an integer During handling of the above exception, another exception occurred: TypeError Traceback (most recent call last) <ipython-input-23-9ceed1aa7dd7> in <module>() 2 import dataset 3 ----> 4 data = data_set.read_data_sets(one_hot=True) ~/lab/data_set/data_set.py in read_data_sets(one_hot, dtype, reshape, validation_size, test_size) 96 97 if reshape: ---> 98 images = numpy.reshape(images, (-1, numpy.prod(images.shape[1:]))) 99 if one_hot: 100 labels = dense_to_one_hot(labels, 3) ~/anaconda3/envs/tf/lib/python3.6/site-packages/numpy/core/fromnumeric.py in reshape(a, newshape, order) 230 [5, 6]]) 231 """ --> 232 return _wrapfunc(a, 'reshape', newshape, order=order) 233 234 ~/anaconda3/envs/tf/lib/python3.6/site-packages/numpy/core/fromnumeric.py in _wrapfunc(obj, method, *args, **kwds) 65 # a downstream library like 'pandas'. 66 except (AttributeError, TypeError): ---> 67 return _wrapit(obj, method, *args, **kwds) 68 69 ~/anaconda3/envs/tf/lib/python3.6/site-packages/numpy/core/fromnumeric.py in _wrapit(obj, method, *args, **kwds) 45 except AttributeError: 46 wrap = None ---> 47 result = getattr(asarray(obj), method)(*args, **kwds) 48 if wrap: 49 if not isinstance(result, mu.ndarray): TypeError: 'numpy.float64' object cannot be interpreted as an integer

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。