5
5
"colab" : {
6
6
"name" : " autograph.ipynb" ,
7
7
"version" : " 0.3.2" ,
8
- "views" : {},
9
- "default_view" : {},
10
8
"provenance" : [],
11
9
"private_outputs" : true ,
12
10
"collapsed_sections" : [
36
34
"metadata" : {
37
35
"id" : " llMNufAK7nfK" ,
38
36
"colab_type" : " code" ,
39
- "colab" : {
40
- "autoexec" : {
41
- "startup" : false ,
42
- "wait_interval" : 0
43
- }
44
- }
37
+ "colab" : {}
45
38
},
46
39
"cell_type" : " code" ,
47
40
"source" : [
116
109
"metadata" : {
117
110
"id" : " RSez0n7Ptcvb" ,
118
111
"colab_type" : " code" ,
119
- "colab" : {
120
- "autoexec" : {
121
- "startup" : false ,
122
- "wait_interval" : 0
123
- }
124
- }
112
+ "colab" : {}
125
113
},
126
114
"cell_type" : " code" ,
127
115
"source" : [
144
132
"metadata" : {
145
133
"id" : " mT7meGqrZTz9" ,
146
134
"colab_type" : " code" ,
147
- "colab" : {
148
- "autoexec" : {
149
- "startup" : false ,
150
- "wait_interval" : 0
151
- }
152
- }
135
+ "colab" : {}
153
136
},
154
137
"cell_type" : " code" ,
155
138
"source" : [
177
160
"metadata" : {
178
161
"id" : " ks_hiqcSJNvg" ,
179
162
"colab_type" : " code" ,
180
- "colab" : {
181
- "autoexec" : {
182
- "startup" : false ,
183
- "wait_interval" : 0
184
- }
185
- }
163
+ "colab" : {}
186
164
},
187
165
"cell_type" : " code" ,
188
166
"source" : [
217
195
"metadata" : {
218
196
"id" : " aA3gOodCBkOw" ,
219
197
"colab_type" : " code" ,
220
- "colab" : {
221
- "autoexec" : {
222
- "startup" : false ,
223
- "wait_interval" : 0
224
- }
225
- }
198
+ "colab" : {}
226
199
},
227
200
"cell_type" : " code" ,
228
201
"source" : [
250
223
"metadata" : {
251
224
"id" : " _EMhGUjRZoKQ" ,
252
225
"colab_type" : " code" ,
253
- "colab" : {
254
- "autoexec" : {
255
- "startup" : false ,
256
- "wait_interval" : 0
257
- }
258
- }
226
+ "colab" : {}
259
227
},
260
228
"cell_type" : " code" ,
261
229
"source" : [
278
246
"metadata" : {
279
247
"id" : " I1RtBvoKBxq5" ,
280
248
"colab_type" : " code" ,
281
- "colab" : {
282
- "autoexec" : {
283
- "startup" : false ,
284
- "wait_interval" : 0
285
- }
286
- }
249
+ "colab" : {}
287
250
},
288
251
"cell_type" : " code" ,
289
252
"source" : [
306
269
"metadata" : {
307
270
"id" : " SGjSq0WQvwGs" ,
308
271
"colab_type" : " code" ,
309
- "colab" : {
310
- "autoexec" : {
311
- "startup" : false ,
312
- "wait_interval" : 0
313
- }
314
- }
272
+ "colab" : {}
315
273
},
316
274
"cell_type" : " code" ,
317
275
"source" : [
342
300
"metadata" : {
343
301
"id" : " toxKBOXbB1ro" ,
344
302
"colab_type" : " code" ,
345
- "colab" : {
346
- "autoexec" : {
347
- "startup" : false ,
348
- "wait_interval" : 0
349
- }
350
- }
303
+ "colab" : {}
351
304
},
352
305
"cell_type" : " code" ,
353
306
"source" : [
375
328
"metadata" : {
376
329
"id" : " jlyQgxYsYSXr" ,
377
330
"colab_type" : " code" ,
378
- "colab" : {
379
- "autoexec" : {
380
- "startup" : false ,
381
- "wait_interval" : 0
382
- }
383
- }
331
+ "colab" : {}
384
332
},
385
333
"cell_type" : " code" ,
386
334
"source" : [
405
353
"metadata" : {
406
354
"id" : " BKhFNXDic4Mw" ,
407
355
"colab_type" : " code" ,
408
- "colab" : {
409
- "autoexec" : {
410
- "startup" : false ,
411
- "wait_interval" : 0
412
- }
413
- }
356
+ "colab" : {}
414
357
},
415
358
"cell_type" : " code" ,
416
359
"source" : [
467
410
"metadata" : {
468
411
"id" : " IAOgh62zCPZ4" ,
469
412
"colab_type" : " code" ,
470
- "colab" : {
471
- "autoexec" : {
472
- "startup" : false ,
473
- "wait_interval" : 0
474
- }
475
- }
413
+ "colab" : {}
476
414
},
477
415
"cell_type" : " code" ,
478
416
"source" : [
507
445
"metadata" : {
508
446
"id" : " ySTsuxnqCTQi" ,
509
447
"colab_type" : " code" ,
510
- "colab" : {
511
- "autoexec" : {
512
- "startup" : false ,
513
- "wait_interval" : 0
514
- }
515
- }
448
+ "colab" : {}
516
449
},
517
450
"cell_type" : " code" ,
518
451
"source" : [
547
480
"metadata" : {
548
481
"id" : " ABX070KwCczR" ,
549
482
"colab_type" : " code" ,
550
- "colab" : {
551
- "autoexec" : {
552
- "startup" : false ,
553
- "wait_interval" : 0
554
- }
555
- }
483
+ "colab" : {}
556
484
},
557
485
"cell_type" : " code" ,
558
486
"source" : [
591
519
"metadata" : {
592
520
"id" : " 4yyNOf-Twr6s" ,
593
521
"colab_type" : " code" ,
594
- "colab" : {
595
- "autoexec" : {
596
- "startup" : false ,
597
- "wait_interval" : 0
598
- }
599
- }
522
+ "colab" : {}
600
523
},
601
524
"cell_type" : " code" ,
602
525
"source" : [
631
554
"metadata" : {
632
555
"id" : " ucmZyQVL03bF" ,
633
556
"colab_type" : " code" ,
634
- "colab" : {
635
- "autoexec" : {
636
- "startup" : false ,
637
- "wait_interval" : 0
638
- }
639
- }
557
+ "colab" : {}
640
558
},
641
559
"cell_type" : " code" ,
642
560
"source" : [
667
585
"metadata" : {
668
586
"id" : " 1sjaFcL717Ig" ,
669
587
"colab_type" : " code" ,
670
- "colab" : {
671
- "autoexec" : {
672
- "startup" : false ,
673
- "wait_interval" : 0
674
- }
675
- }
588
+ "colab" : {}
676
589
},
677
590
"cell_type" : " code" ,
678
591
"source" : [
728
641
"metadata" : {
729
642
"id" : " xqoxumv0ssQW" ,
730
643
"colab_type" : " code" ,
731
- "colab" : {
732
- "autoexec" : {
733
- "startup" : false ,
734
- "wait_interval" : 0
735
- }
736
- }
644
+ "colab" : {}
737
645
},
738
646
"cell_type" : " code" ,
739
647
"source" : [
756
664
"metadata" : {
757
665
"id" : " Pe-erWQdBoC5" ,
758
666
"colab_type" : " code" ,
759
- "colab" : {
760
- "autoexec" : {
761
- "startup" : false ,
762
- "wait_interval" : 0
763
- }
764
- }
667
+ "colab" : {}
765
668
},
766
669
"cell_type" : " code" ,
767
670
"source" : [
786
689
" \n " ,
787
690
" def fit(m, x, y, opt):\n " ,
788
691
" l, accuracy = predict(m, x, y)\n " ,
692
+ " # Autograph automatically adds the necessary `tf.control_dependencies` here.\n " ,
693
+ " # (Without them nothing depends on `opt.minimize`, so it doesn't run.)\n " ,
694
+ " # This makes it much more like eager-code.\n " ,
789
695
" opt.minimize(l)\n " ,
790
696
" return l, accuracy\n " ,
791
697
" \n " ,
826
732
"metadata" : {
827
733
"id" : " 3xtg_MMhJETd" ,
828
734
"colab_type" : " code" ,
829
- "colab" : {
830
- "autoexec" : {
831
- "startup" : false ,
832
- "wait_interval" : 0
833
- }
834
- }
735
+ "colab" : {}
835
736
},
836
737
"cell_type" : " code" ,
837
738
"source" : [
739
+ " # Use `recursive = True` to recursively convert functions called by this one.\n " ,
740
+ " @autograph.convert(recursive=True)\n " ,
838
741
" def train(train_ds, test_ds, hp):\n " ,
839
742
" m = mlp_model((28 * 28,))\n " ,
840
743
" opt = tf.train.MomentumOptimizer(hp.learning_rate, 0.9)\n " ,
893
796
"metadata" : {
894
797
"id" : " HYh6MSZyJOag" ,
895
798
"colab_type" : " code" ,
896
- "colab" : {
897
- "autoexec" : {
898
- "startup" : false ,
899
- "wait_interval" : 0
900
- }
901
- }
799
+ "colab" : {}
902
800
},
903
801
"cell_type" : " code" ,
904
802
"source" : [
909
807
" )\n " ,
910
808
" train_ds = setup_mnist_data(True, 50)\n " ,
911
809
" test_ds = setup_mnist_data(False, 1000)\n " ,
912
- " tf_train = autograph.to_graph(train)\n " ,
913
810
" (train_losses, test_losses, train_accuracies,\n " ,
914
- " test_accuracies) = tf_train (train_ds, test_ds, hp)\n " ,
811
+ " test_accuracies) = train (train_ds, test_ds, hp)\n " ,
915
812
" \n " ,
916
813
" init = tf.global_variables_initializer()\n " ,
917
814
" \n " ,
940
837
"outputs" : []
941
838
}
942
839
]
943
- }
840
+ }
0 commit comments