質問編集履歴

7

修正

2017/09/01 08:29

投稿

trafalbad
trafalbad

スコア303

test CHANGED
File without changes
test CHANGED
@@ -26,7 +26,7 @@
26
26
 
27
27
  global_step = tf.contrib.framework.get_or_create_global_step()
28
28
 
29
- images, label = inpus_s('/Users/hagiharatatsuya/Downloads/train.tfrecords')
29
+ images, label = inpus_s('/Users/Downloads/train.tfrecords')
30
30
 
31
31
  c_logits = cnn(images)
32
32
 

6

追記

2017/09/01 08:28

投稿

trafalbad
trafalbad

スコア303

test CHANGED
File without changes
test CHANGED
@@ -96,4 +96,8 @@
96
96
 
97
97
 
98
98
 
99
+ UnboundLocalError: local variable 'loss_value' referenced before assignment
100
+
101
+
102
+
99
103
  ```

5

質問変更

2017/09/01 08:28

投稿

trafalbad
trafalbad

スコア303

test CHANGED
@@ -1 +1 @@
1
- TFRecordファイルの拡張子について
1
+ エラー’local variable 'loss_value' referenced before assignment’’について
test CHANGED
@@ -1 +1,99 @@
1
- cifar10のデータTFRecordファイルに書き込みのですが、ファイルパスに指定するファイル拡張子は何にすればよいのでょうか?
1
+ tensorflowで``` sees.run() ```たのですが、のようなエラーが出てしまた。
2
+
3
+ ```
4
+
5
+ local variable 'loss_value' referenced before assignment’
6
+
7
+ ```
8
+
9
+ エラーの内容を見ると``` loss_value ```が事前に定義されていないと出てしまうのですが、コードを見て見ると``` loss_value ```は定義されています。
10
+
11
+
12
+
13
+
14
+
15
+ このコードはcifar10から持ってきたものですが、この```_LoggerHook() ```というclassに問題があるようなのですが、この場合、``` loss_value ```をどこでどのように定義すればこのエラーは解決するのでしょうか?
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+ ```
24
+
25
+ with tf.Graph().as_default():
26
+
27
+ global_step = tf.contrib.framework.get_or_create_global_step()
28
+
29
+ images, label = inpus_s('/Users/hagiharatatsuya/Downloads/train.tfrecords')
30
+
31
+ c_logits = cnn(images)
32
+
33
+ loss = loss(c_logits, label)
34
+
35
+ train_op = train(loss, global_step)
36
+
37
+ class _LoggerHook(tf.train.SessionRunHook):
38
+
39
+ def begin(self):
40
+
41
+ self._step = -1
42
+
43
+ self._start_time = time.time()
44
+
45
+
46
+
47
+ def before_run(self, run_context):
48
+
49
+ self._step += 1
50
+
51
+ return tf.train.SessionRunArgs(loss) # Asks for loss value.
52
+
53
+
54
+
55
+ def after_run(self, run_context, run_values):
56
+
57
+ if self._step % 10 == 0:
58
+
59
+ current_time = time.time()
60
+
61
+ duration = current_time - self._start_time
62
+
63
+ self._start_time = current_time
64
+
65
+
66
+
67
+ loss_value = run_values.results
68
+
69
+ examples_per_sec = 10 * 128 / duration
70
+
71
+ sec_per_batch = float(duration / 10)
72
+
73
+
74
+
75
+ print ('%s: step %d, loss = %.2f (%.1f examples/sec; %.3f '
76
+
77
+ 'sec/batch)' % (datetime.now(), self._step, loss_value,
78
+
79
+ examples_per_sec, sec_per_batch))
80
+
81
+
82
+
83
+ with tf.train.MonitoredTrainingSession(hooks=[tf.train.StopAtStepHook(last_step=1000),
84
+
85
+ tf.train.NanTensorHook(loss),
86
+
87
+ _LoggerHook()],
88
+
89
+ config=tf.ConfigProto(
90
+
91
+ log_device_placement=False)) as mon_sess:
92
+
93
+ while not mon_sess.should_stop():
94
+
95
+ mon_sess.run(train_op)
96
+
97
+
98
+
99
+ ```

4

2017/09/01 08:27

投稿

trafalbad
trafalbad

スコア303

test CHANGED
@@ -1 +1 @@
1
- TFRecordファイル書き込み方法について
1
+ TFRecordファイルの拡張子について
test CHANGED
@@ -1,93 +1 @@
1
- cifar10のデータをTFRecordファイルに書き込みたいのですが、質問がありま(ちなみこ実装コードは上手くデータを読み出せません)
1
+ cifar10のデータをTFRecordファイルに書き込みたいのですが、ファイルパスに指定るファイル拡張子は何にすればよいのしょうか?
2
-
3
- 質問1:データを書き込む時、なんのファイル形式(csv, pickle等)であれば良いのでしょうか?
4
-
5
-
6
-
7
- 質問2:下記のデータ(imageとlabel)の「**TFRecordファイルに書き込み**」で、間違っているところなどありましたらご指摘お願いします?
8
-
9
-
10
-
11
- **cifar10読み込み**
12
-
13
- ```
14
-
15
- def unpickle(file):
16
-
17
- fp = open(file, 'rb')
18
-
19
- if sys.version_info.major == 2:
20
-
21
- data = pickle.load(fp)
22
-
23
- elif sys.version_info.major == 3:
24
-
25
- data = pickle.load(fp, encoding='latin-1')
26
-
27
- fp.close()
28
-
29
-
30
-
31
- return data
32
-
33
- train_images=unpickle('data_batch_1')['data']
34
-
35
- train_labels=unpickle('data_batch_1')['labels']
36
-
37
- ```
38
-
39
-
40
-
41
- **TFRecordファイルに書き込み**
42
-
43
- ```
44
-
45
- writer = tf.python_io.TFRecordWriter('/Users/Downloads/sample.pickle')
46
-
47
- for i in range(0, len(train_images)):
48
-
49
- features = train_images[i]
50
-
51
- label = train_labels[i]
52
-
53
- example = tf.train.Example(features=tf.train.Features(feature={
54
-
55
- 'label' : tf.train.Feature(float_list=tf.train.FloatList(value=[label])),
56
-
57
- 'image' : tf.train.Feature(float_list=tf.train.FloatList(value=features.astype("float")))}))
58
-
59
-
60
-
61
- serialized = example.SerializeToString()
62
-
63
-
64
-
65
- # write the serialized object to disk
66
-
67
- writer.write(serialized)
68
-
69
- ```
70
-
71
-
72
-
73
- **読み込み**
74
-
75
- ```
76
-
77
- filename_queue = tf.train.string_input_producer( ["/Users/Downloads/sample.pickle"], num_epochs= None )
78
-
79
- reader = tf.TFRecordReader()
80
-
81
- _, value = reader.read(filename_queue)
82
-
83
-
84
-
85
- features = tf.parse_single_example(value, features={
86
-
87
- 'label': tf.FixedLenFeature([], tf.int64),
88
-
89
- 'image': tf.FixedLenFeature([], tf.string),
90
-
91
- })
92
-
93
- ```

3

修正

2017/08/31 15:17

投稿

trafalbad
trafalbad

スコア303

test CHANGED
File without changes
test CHANGED
@@ -1,10 +1,12 @@
1
- cifar10のデータをTFRecordファイルに書き込みたいのですが、質問があります
1
+ cifar10のデータをTFRecordファイルに書き込みたいのですが、質問があります(ちなみこの実装コードでは上手くデータを読み出せません)
2
2
 
3
3
  質問1:データを書き込む時、なんのファイル形式(csv, pickle等)であれば良いのでしょうか?
4
4
 
5
5
 
6
6
 
7
7
  質問2:下記のデータ(imageとlabel)の「**TFRecordファイルに書き込み**」で、間違っているところなどありましたらご指摘お願いします?
8
+
9
+
8
10
 
9
11
  **cifar10読み込み**
10
12
 
@@ -40,7 +42,7 @@
40
42
 
41
43
  ```
42
44
 
43
- writer = tf.python_io.TFRecordWriter('sample_batch')
45
+ writer = tf.python_io.TFRecordWriter('/Users/Downloads/sample.pickle')
44
46
 
45
47
  for i in range(0, len(train_images)):
46
48
 
@@ -72,7 +74,7 @@
72
74
 
73
75
  ```
74
76
 
75
- filename_queue = tf.train.string_input_producer( ["sample_batch"], num_epochs= None )
77
+ filename_queue = tf.train.string_input_producer( ["/Users/Downloads/sample.pickle"], num_epochs= None )
76
78
 
77
79
  reader = tf.TFRecordReader()
78
80
 

2

修正

2017/08/31 13:27

投稿

trafalbad
trafalbad

スコア303

test CHANGED
@@ -1 +1 @@
1
- TFRecordファイルへの書き込みのファイル形式について
1
+ TFRecordファイルへの書き込み方法について
test CHANGED
@@ -1,14 +1,10 @@
1
- cifar10のデータをTFRecordファイルに書き込み、読み込むとしたのですがデータsess.runの時にデータがないとエラーが出ます
1
+ cifar10のデータをTFRecordファイルに書き込みたのですが、質問あります
2
2
 
3
- おそらくファイルの書き込みか、読み込みの時に原因があると思うんですが、データを書き込む時、なんのファイル形式(csv, pickle等)であれば良いのでしょうか?
3
+ 質問1:データを書き込む時、なんのファイル形式(csv, pickle等)であれば良いのでしょうか?
4
4
 
5
5
 
6
6
 
7
- 保存したいは数値に変換した(10000, 3072)の画像(10000,)ラベルです
7
+ 質問2:下記データ(imagelabel)「**TFRecordファイに書き込み**」、間違っているところなどありましたらご指摘お願いしま
8
-
9
- 書き込むファイル形式はpickleでもいいのでしょうか?
10
-
11
-
12
8
 
13
9
  **cifar10読み込み**
14
10
 
@@ -86,14 +82,10 @@
86
82
 
87
83
  features = tf.parse_single_example(value, features={
88
84
 
89
- 'label': tf.FixedLenFeature([1], tf.int64),
85
+ 'label': tf.FixedLenFeature([], tf.int64),
90
86
 
91
- 'image': tf.FixedLenFeature([3072], tf.string)})
87
+ 'image': tf.FixedLenFeature([], tf.string),
92
88
 
93
-
94
-
95
- label = features[ 'label' ]
89
+ })
96
-
97
- image = features[ 'image' ]
98
90
 
99
91
  ```

1

修正

2017/08/31 13:25

投稿

trafalbad
trafalbad

スコア303

test CHANGED
@@ -1 +1 @@
1
- TFRecordファイルへの書き込みと読み込みが上手くきません
1
+ TFRecordファイルへの書き込みのファイル形式につ
test CHANGED
@@ -1,8 +1,12 @@
1
1
  cifar10のデータをTFRecordファイルに書き込み、読み込むとしたのですがデータがsess.runの時にデータがないとエラーが出ます。
2
2
 
3
- おそらくファイルの書き込みか、読み込みの時に原因があると思うんですが、
3
+ おそらくファイルの書き込みか、読み込みの時に原因があると思うんですが、データを書き込む時、なんのファイル形式(csv, pickle等)であれば良いのでしょうか?
4
4
 
5
+
6
+
7
+ 保存したいのは数値に変換した(10000, 3072)の画像と(10000,)のラベルです。
8
+
5
- 下記コード実装した場所問題がある場所はありますでしょうか?
9
+ 書き込むファイル形式はpickleもいいのでしょうか?
6
10
 
7
11
 
8
12