-
Notifications
You must be signed in to change notification settings - Fork 1
/
search_sample.json
8689 lines (8689 loc) · 698 KB
/
search_sample.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
{
"incomplete_results": false,
"items": [
{
"active_lock_reason": null,
"assignee": null,
"assignees": [],
"author_association": "COLLABORATOR",
"body": "Implements (batched) matrix exponential. Fixes [#9983](https://github.com/pytorch/pytorch/issues/9983).\r\n\r\nThe algorithm follows:\r\n```\r\n Bader, P.; Blanes, S.; Casas, F.\r\n Computing the Matrix Exponential with an Optimized Taylor Polynomial Approximation.\r\n Mathematics 2019, 7, 1174.\r\n```\r\n",
"closed_at": "2020-08-18T21:16:19Z",
"comments": 53,
"comments_url": "https://api.github.com/repos/pytorch/pytorch/issues/40161/comments",
"created_at": "2020-06-17T13:22:26Z",
"draft": false,
"events_url": "https://api.github.com/repos/pytorch/pytorch/issues/40161/events",
"html_url": "https://github.com/pytorch/pytorch/pull/40161",
"id": 640438712,
"labels": [
{
"color": "ededed",
"default": false,
"description": null,
"id": 1392590051,
"name": "open source",
"node_id": "MDU6TGFiZWwxMzkyNTkwMDUx",
"url": "https://api.github.com/repos/pytorch/pytorch/labels/open%20source"
},
{
"color": "006b75",
"default": false,
"description": "This issue has been looked at a team member, and triaged and prioritized into an appropriate module",
"id": 1301347167,
"name": "triaged",
"node_id": "MDU6TGFiZWwxMzAxMzQ3MTY3",
"url": "https://api.github.com/repos/pytorch/pytorch/labels/triaged"
}
],
"labels_url": "https://api.github.com/repos/pytorch/pytorch/issues/40161/labels{/name}",
"locked": false,
"milestone": null,
"node_id": "MDExOlB1bGxSZXF1ZXN0NDM1ODQ4NjEx",
"number": 40161,
"performed_via_github_app": null,
"pull_request": {
"diff_url": "https://github.com/pytorch/pytorch/pull/40161.diff",
"html_url": "https://github.com/pytorch/pytorch/pull/40161",
"patch_url": "https://github.com/pytorch/pytorch/pull/40161.patch",
"url": "https://api.github.com/repos/pytorch/pytorch/pulls/40161"
},
"repository_url": "https://api.github.com/repos/pytorch/pytorch",
"score": 1.0,
"state": "closed",
"title": "Introducing Matrix exponential",
"updated_at": "2021-01-27T18:27:07Z",
"url": "https://api.github.com/repos/pytorch/pytorch/issues/40161",
"user": {
"avatar_url": "https://avatars.githubusercontent.com/u/1255244?v=4",
"events_url": "https://api.github.com/users/nikitaved/events{/privacy}",
"followers_url": "https://api.github.com/users/nikitaved/followers",
"following_url": "https://api.github.com/users/nikitaved/following{/other_user}",
"gists_url": "https://api.github.com/users/nikitaved/gists{/gist_id}",
"gravatar_id": "",
"html_url": "https://github.com/nikitaved",
"id": 1255244,
"login": "nikitaved",
"node_id": "MDQ6VXNlcjEyNTUyNDQ=",
"organizations_url": "https://api.github.com/users/nikitaved/orgs",
"received_events_url": "https://api.github.com/users/nikitaved/received_events",
"repos_url": "https://api.github.com/users/nikitaved/repos",
"site_admin": false,
"starred_url": "https://api.github.com/users/nikitaved/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/nikitaved/subscriptions",
"type": "User",
"url": "https://api.github.com/users/nikitaved"
}
},
{
"active_lock_reason": null,
"assignee": {
"avatar_url": "https://avatars.githubusercontent.com/u/49409390?v=4",
"events_url": "https://api.github.com/users/trbromley/events{/privacy}",
"followers_url": "https://api.github.com/users/trbromley/followers",
"following_url": "https://api.github.com/users/trbromley/following{/other_user}",
"gists_url": "https://api.github.com/users/trbromley/gists{/gist_id}",
"gravatar_id": "",
"html_url": "https://github.com/trbromley",
"id": 49409390,
"login": "trbromley",
"node_id": "MDQ6VXNlcjQ5NDA5Mzkw",
"organizations_url": "https://api.github.com/users/trbromley/orgs",
"received_events_url": "https://api.github.com/users/trbromley/received_events",
"repos_url": "https://api.github.com/users/trbromley/repos",
"site_admin": false,
"starred_url": "https://api.github.com/users/trbromley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/trbromley/subscriptions",
"type": "User",
"url": "https://api.github.com/users/trbromley"
},
"assignees": [
{
"avatar_url": "https://avatars.githubusercontent.com/u/49409390?v=4",
"events_url": "https://api.github.com/users/trbromley/events{/privacy}",
"followers_url": "https://api.github.com/users/trbromley/followers",
"following_url": "https://api.github.com/users/trbromley/following{/other_user}",
"gists_url": "https://api.github.com/users/trbromley/gists{/gist_id}",
"gravatar_id": "",
"html_url": "https://github.com/trbromley",
"id": 49409390,
"login": "trbromley",
"node_id": "MDQ6VXNlcjQ5NDA5Mzkw",
"organizations_url": "https://api.github.com/users/trbromley/orgs",
"received_events_url": "https://api.github.com/users/trbromley/received_events",
"repos_url": "https://api.github.com/users/trbromley/repos",
"site_admin": false,
"starred_url": "https://api.github.com/users/trbromley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/trbromley/subscriptions",
"type": "User",
"url": "https://api.github.com/users/trbromley"
}
],
"author_association": "CONTRIBUTOR",
"body": "This PR provides a `KerasLayer` class for converting a PennyLane QNode to a Keras layer, which can then be used within standard Keras features such as the `Model`/`Sequential` models.\r\n\r\nCurrently, the following is not added:\r\n- A tutorial/demo to show how to use this new feature\r\n- A section in \"Using PennyLane\" of the documentation showing a higher level picture. This and the above could be added together.\r\n- Supporting input of a QNodeCollection instead of a single QNode. This should be possible, we need to make the `func.sig` attribute available in the QNodeCollection and in `qml.map`.\r\n\r\nProviding this functionality would help solve https://github.com/XanaduAI/pennylane/issues/166 and is also discussed in https://github.com/XanaduAI/pennylane/issues/133, https://discuss.pennylane.ai/t/qnode-inside-keras-layer/335/3 and https://discuss.pennylane.ai/t/creating-and-saving-models/46.\r\n",
"closed_at": "2020-04-01T13:46:17Z",
"comments": 3,
"comments_url": "https://api.github.com/repos/PennyLaneAI/pennylane/issues/529/comments",
"created_at": "2020-03-02T21:45:19Z",
"draft": false,
"events_url": "https://api.github.com/repos/PennyLaneAI/pennylane/issues/529/events",
"html_url": "https://github.com/PennyLaneAI/pennylane/pull/529",
"id": 574268880,
"labels": [
{
"color": "a2eeef",
"default": false,
"description": "New feature or request",
"id": 904999236,
"name": "enhancement :sparkles:",
"node_id": "MDU6TGFiZWw5MDQ5OTkyMzY=",
"url": "https://api.github.com/repos/PennyLaneAI/pennylane/labels/enhancement%20:sparkles:"
},
{
"color": "7edbe5",
"default": false,
"description": "PRs which are ready for review by someone from the core team.",
"id": 1325168635,
"name": "review-ready :ok_hand:",
"node_id": "MDU6TGFiZWwxMzI1MTY4NjM1",
"url": "https://api.github.com/repos/PennyLaneAI/pennylane/labels/review-ready%20:ok_hand:"
}
],
"labels_url": "https://api.github.com/repos/PennyLaneAI/pennylane/issues/529/labels{/name}",
"locked": false,
"milestone": null,
"node_id": "MDExOlB1bGxSZXF1ZXN0MzgyNjI0NDIy",
"number": 529,
"performed_via_github_app": null,
"pull_request": {
"diff_url": "https://github.com/PennyLaneAI/pennylane/pull/529.diff",
"html_url": "https://github.com/PennyLaneAI/pennylane/pull/529",
"patch_url": "https://github.com/PennyLaneAI/pennylane/pull/529.patch",
"url": "https://api.github.com/repos/PennyLaneAI/pennylane/pulls/529"
},
"repository_url": "https://api.github.com/repos/PennyLaneAI/pennylane",
"score": 1.0,
"state": "closed",
"title": "Add Keras layers support",
"updated_at": "2020-04-01T17:24:50Z",
"url": "https://api.github.com/repos/PennyLaneAI/pennylane/issues/529",
"user": {
"avatar_url": "https://avatars.githubusercontent.com/u/49409390?v=4",
"events_url": "https://api.github.com/users/trbromley/events{/privacy}",
"followers_url": "https://api.github.com/users/trbromley/followers",
"following_url": "https://api.github.com/users/trbromley/following{/other_user}",
"gists_url": "https://api.github.com/users/trbromley/gists{/gist_id}",
"gravatar_id": "",
"html_url": "https://github.com/trbromley",
"id": 49409390,
"login": "trbromley",
"node_id": "MDQ6VXNlcjQ5NDA5Mzkw",
"organizations_url": "https://api.github.com/users/trbromley/orgs",
"received_events_url": "https://api.github.com/users/trbromley/received_events",
"repos_url": "https://api.github.com/users/trbromley/repos",
"site_admin": false,
"starred_url": "https://api.github.com/users/trbromley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/trbromley/subscriptions",
"type": "User",
"url": "https://api.github.com/users/trbromley"
}
},
{
"active_lock_reason": null,
"assignee": {
"avatar_url": "https://avatars.githubusercontent.com/u/18154355?v=4",
"events_url": "https://api.github.com/users/seanpmorgan/events{/privacy}",
"followers_url": "https://api.github.com/users/seanpmorgan/followers",
"following_url": "https://api.github.com/users/seanpmorgan/following{/other_user}",
"gists_url": "https://api.github.com/users/seanpmorgan/gists{/gist_id}",
"gravatar_id": "",
"html_url": "https://github.com/seanpmorgan",
"id": 18154355,
"login": "seanpmorgan",
"node_id": "MDQ6VXNlcjE4MTU0MzU1",
"organizations_url": "https://api.github.com/users/seanpmorgan/orgs",
"received_events_url": "https://api.github.com/users/seanpmorgan/received_events",
"repos_url": "https://api.github.com/users/seanpmorgan/repos",
"site_admin": false,
"starred_url": "https://api.github.com/users/seanpmorgan/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/seanpmorgan/subscriptions",
"type": "User",
"url": "https://api.github.com/users/seanpmorgan"
},
"assignees": [
{
"avatar_url": "https://avatars.githubusercontent.com/u/18154355?v=4",
"events_url": "https://api.github.com/users/seanpmorgan/events{/privacy}",
"followers_url": "https://api.github.com/users/seanpmorgan/followers",
"following_url": "https://api.github.com/users/seanpmorgan/following{/other_user}",
"gists_url": "https://api.github.com/users/seanpmorgan/gists{/gist_id}",
"gravatar_id": "",
"html_url": "https://github.com/seanpmorgan",
"id": 18154355,
"login": "seanpmorgan",
"node_id": "MDQ6VXNlcjE4MTU0MzU1",
"organizations_url": "https://api.github.com/users/seanpmorgan/orgs",
"received_events_url": "https://api.github.com/users/seanpmorgan/received_events",
"repos_url": "https://api.github.com/users/seanpmorgan/repos",
"site_admin": false,
"starred_url": "https://api.github.com/users/seanpmorgan/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/seanpmorgan/subscriptions",
"type": "User",
"url": "https://api.github.com/users/seanpmorgan"
}
],
"author_association": "CONTRIBUTOR",
"body": "This PR is aimed at putting a gaussian blur in an image. It reduces the noise in an image.\r\nSee Issue #1333",
"closed_at": "2020-04-30T18:40:07Z",
"comments": 69,
"comments_url": "https://api.github.com/repos/tensorflow/addons/issues/1450/comments",
"created_at": "2020-03-27T04:20:26Z",
"draft": false,
"events_url": "https://api.github.com/repos/tensorflow/addons/issues/1450/events",
"html_url": "https://github.com/tensorflow/addons/pull/1450",
"id": 588876246,
"labels": [
{
"color": "04a52a",
"default": false,
"description": "",
"id": 1245934882,
"name": "cla: yes",
"node_id": "MDU6TGFiZWwxMjQ1OTM0ODgy",
"url": "https://api.github.com/repos/tensorflow/addons/labels/cla:%20yes"
},
{
"color": "80f7d9",
"default": false,
"description": "",
"id": 1745731560,
"name": "github",
"node_id": "MDU6TGFiZWwxNzQ1NzMxNTYw",
"url": "https://api.github.com/repos/tensorflow/addons/labels/github"
},
{
"color": "d87e24",
"default": false,
"description": "",
"id": 1186667011,
"name": "image",
"node_id": "MDU6TGFiZWwxMTg2NjY3MDEx",
"url": "https://api.github.com/repos/tensorflow/addons/labels/image"
}
],
"labels_url": "https://api.github.com/repos/tensorflow/addons/issues/1450/labels{/name}",
"locked": false,
"milestone": null,
"node_id": "MDExOlB1bGxSZXF1ZXN0Mzk0NTQyMjE1",
"number": 1450,
"performed_via_github_app": null,
"pull_request": {
"diff_url": "https://github.com/tensorflow/addons/pull/1450.diff",
"html_url": "https://github.com/tensorflow/addons/pull/1450",
"patch_url": "https://github.com/tensorflow/addons/pull/1450.patch",
"url": "https://api.github.com/repos/tensorflow/addons/pulls/1450"
},
"repository_url": "https://api.github.com/repos/tensorflow/addons",
"score": 1.0,
"state": "closed",
"title": "Added gaussian_blur_op",
"updated_at": "2020-05-01T16:58:27Z",
"url": "https://api.github.com/repos/tensorflow/addons/issues/1450",
"user": {
"avatar_url": "https://avatars.githubusercontent.com/u/39326440?v=4",
"events_url": "https://api.github.com/users/ghosalsattam/events{/privacy}",
"followers_url": "https://api.github.com/users/ghosalsattam/followers",
"following_url": "https://api.github.com/users/ghosalsattam/following{/other_user}",
"gists_url": "https://api.github.com/users/ghosalsattam/gists{/gist_id}",
"gravatar_id": "",
"html_url": "https://github.com/ghosalsattam",
"id": 39326440,
"login": "ghosalsattam",
"node_id": "MDQ6VXNlcjM5MzI2NDQw",
"organizations_url": "https://api.github.com/users/ghosalsattam/orgs",
"received_events_url": "https://api.github.com/users/ghosalsattam/received_events",
"repos_url": "https://api.github.com/users/ghosalsattam/repos",
"site_admin": false,
"starred_url": "https://api.github.com/users/ghosalsattam/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/ghosalsattam/subscriptions",
"type": "User",
"url": "https://api.github.com/users/ghosalsattam"
}
},
{
"active_lock_reason": null,
"assignee": {
"avatar_url": "https://avatars.githubusercontent.com/u/4323109?v=4",
"events_url": "https://api.github.com/users/alanchiao/events{/privacy}",
"followers_url": "https://api.github.com/users/alanchiao/followers",
"following_url": "https://api.github.com/users/alanchiao/following{/other_user}",
"gists_url": "https://api.github.com/users/alanchiao/gists{/gist_id}",
"gravatar_id": "",
"html_url": "https://github.com/alanchiao",
"id": 4323109,
"login": "alanchiao",
"node_id": "MDQ6VXNlcjQzMjMxMDk=",
"organizations_url": "https://api.github.com/users/alanchiao/orgs",
"received_events_url": "https://api.github.com/users/alanchiao/received_events",
"repos_url": "https://api.github.com/users/alanchiao/repos",
"site_admin": false,
"starred_url": "https://api.github.com/users/alanchiao/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/alanchiao/subscriptions",
"type": "User",
"url": "https://api.github.com/users/alanchiao"
},
"assignees": [
{
"avatar_url": "https://avatars.githubusercontent.com/u/4323109?v=4",
"events_url": "https://api.github.com/users/alanchiao/events{/privacy}",
"followers_url": "https://api.github.com/users/alanchiao/followers",
"following_url": "https://api.github.com/users/alanchiao/following{/other_user}",
"gists_url": "https://api.github.com/users/alanchiao/gists{/gist_id}",
"gravatar_id": "",
"html_url": "https://github.com/alanchiao",
"id": 4323109,
"login": "alanchiao",
"node_id": "MDQ6VXNlcjQzMjMxMDk=",
"organizations_url": "https://api.github.com/users/alanchiao/orgs",
"received_events_url": "https://api.github.com/users/alanchiao/received_events",
"repos_url": "https://api.github.com/users/alanchiao/repos",
"site_admin": false,
"starred_url": "https://api.github.com/users/alanchiao/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/alanchiao/subscriptions",
"type": "User",
"url": "https://api.github.com/users/alanchiao"
}
],
"author_association": "NONE",
"body": "**System information**\r\n- TensorFlow version (you are using): 1.13.1 (but willing to use 2.0.0-alpha0 if there is a good reason)\r\n- Are you willing to contribute it (Yes/No): Yes (given some pointers on how to best go about it)\r\n\r\n**Describe the feature and the current behavior/state.**\r\nCurrently there is no obvious way to apply `tf.contrib.quantize.create_training_graph` to a keras model. The keras API only allows access to the graph after it has already created a session. Attempting to modify the graph at this point does not work:\r\nhttps://stackoverflow.com/questions/55123417/quantization-aware-retraining-a-keras-model\r\nhttps://stackoverflow.com/questions/52259343/quantize-a-keras-neural-network-model\r\n\r\nI have also tried to create a new session after rewriting the graph, without success:\r\n```\r\ntf.contrib.quantize.create_training_graph(input_graph=tf.keras.backend.get_session().graph, quant_delay=0)\r\n# create a new session after rewriting the graph\r\nnew_session = tf.Session()\r\ntf.keras.backend.set_session(new_session)\r\n```\r\n\r\nResults in this error when I try to fit the model:\r\n```\r\ntensorflow.python.framework.errors_impl.FailedPreconditionError: Error while reading resource variable dense_5/bias from Container: localhost. This could mean that the variable was uninitialized. Not found: Resource localhost/dense_5/bias/class tensorflow::Var does not exist.\r\n [[{{node dense_5/BiasAdd/ReadVariableOp}}]]\r\n```\r\n\r\n**Will this change the current api? How?**\r\nProbably, but in a backwards-compatible way. I imagine some kind of graph rewriting hook would probably be necessary in the tf.keras API.\r\n\r\n**Who will benefit with this feature?** Users of TF Lite / Edge TPU wishing to easily train quantized models using the keras API (which is being pushed as the new \"one true API\" for tensorflow).\r\n\r\n**Any Other info.**\r\nRelated issue on the main keras project https://github.com/keras-team/keras/issues/11105",
"closed_at": "2020-04-08T21:08:50Z",
"comments": 149,
"comments_url": "https://api.github.com/repos/tensorflow/tensorflow/issues/27880/comments",
"created_at": "2019-04-16T02:03:39Z",
"events_url": "https://api.github.com/repos/tensorflow/tensorflow/issues/27880/events",
"html_url": "https://github.com/tensorflow/tensorflow/issues/27880",
"id": 433550068,
"labels": [
{
"color": "0052cc",
"default": false,
"description": "Keras related issues",
"id": 1097546578,
"name": "comp:keras",
"node_id": "MDU6TGFiZWwxMDk3NTQ2NTc4",
"url": "https://api.github.com/repos/tensorflow/tensorflow/labels/comp:keras"
},
{
"color": "f4b400",
"default": false,
"description": "Status - Awaiting response from author",
"id": 386191887,
"name": "stat:awaiting response",
"node_id": "MDU6TGFiZWwzODYxOTE4ODc=",
"url": "https://api.github.com/repos/tensorflow/tensorflow/labels/stat:awaiting%20response"
},
{
"color": "159b2e",
"default": false,
"description": "Feature requests",
"id": 473173272,
"name": "type:feature",
"node_id": "MDU6TGFiZWw0NzMxNzMyNzI=",
"url": "https://api.github.com/repos/tensorflow/tensorflow/labels/type:feature"
}
],
"labels_url": "https://api.github.com/repos/tensorflow/tensorflow/issues/27880/labels{/name}",
"locked": false,
"milestone": null,
"node_id": "MDU6SXNzdWU0MzM1NTAwNjg=",
"number": 27880,
"performed_via_github_app": null,
"repository_url": "https://api.github.com/repos/tensorflow/tensorflow",
"score": 1.0,
"state": "closed",
"title": "Quantization-Aware Training support in Keras",
"updated_at": "2020-04-23T23:07:33Z",
"url": "https://api.github.com/repos/tensorflow/tensorflow/issues/27880",
"user": {
"avatar_url": "https://avatars.githubusercontent.com/u/24605895?v=4",
"events_url": "https://api.github.com/users/ed-alertedh/events{/privacy}",
"followers_url": "https://api.github.com/users/ed-alertedh/followers",
"following_url": "https://api.github.com/users/ed-alertedh/following{/other_user}",
"gists_url": "https://api.github.com/users/ed-alertedh/gists{/gist_id}",
"gravatar_id": "",
"html_url": "https://github.com/ed-alertedh",
"id": 24605895,
"login": "ed-alertedh",
"node_id": "MDQ6VXNlcjI0NjA1ODk1",
"organizations_url": "https://api.github.com/users/ed-alertedh/orgs",
"received_events_url": "https://api.github.com/users/ed-alertedh/received_events",
"repos_url": "https://api.github.com/users/ed-alertedh/repos",
"site_admin": false,
"starred_url": "https://api.github.com/users/ed-alertedh/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/ed-alertedh/subscriptions",
"type": "User",
"url": "https://api.github.com/users/ed-alertedh"
}
},
{
"active_lock_reason": null,
"assignee": null,
"assignees": [],
"author_association": "CONTRIBUTOR",
"body": "This gives all `BayesianModel` subclasses a consistent interface both for optimization (MLE/MAP) and MCMC. Models are required to implement `maximum_log_likelihood_objective`, which is to be maximized for model training.\r\n\r\nOptimization: The `_training_loss` method is defined as `- (maximum_log_likelihood_objective + log_prior_density)`. This is exposed by the InternalDataTrainingLossMixin and ExternalDataTrainingLossMixin classes.\r\n\r\nFor models that keep hold of the data internally, `training_loss` can directly be passed as a closure to an optimizer's `minimize`, for example:\r\n```python\r\nmodel = gpflow.models.GPR(data, ...)\r\ngpflow.optimizers.Scipy().minimize(model.training_loss, model.trainable_variables)\r\n```\r\n\r\nIf the model objective requires data to be passed in, a closure can be constructed on the fly using `model.training_loss_closure(data)`, which returns a no-argument closure:\r\n```python\r\nmodel = gpflow.models.SVGP(...)\r\ngpflow.optimizers.Scipy().minimize(\r\n model.training_loss_closure(data), model.trainable_variables, ...\r\n)\r\n```\r\n\r\nThe training_loss_closure() method provided by both InternalDataTrainingLossMixin and ExternalDataTrainingLossMixin takes a boolean `compile` argument (default: True) that wraps the returned closure in tf.function(). Note that the return value should be cached in a variable if the minimize() step is run several times to avoid re-compilation in each step!\r\n\r\nMCMC: The `log_posterior_density` method can be directly passed to the `SamplingHelper`. By default, `log_posterior_density` is implemented as `maximum_log_likelihood_objective + log_prior_density`. Models can override this if needed. Example:\r\n```python\r\nmodel = gpflow.models.GPMC(...)\r\nhmc_helper = gpflow.optimizers.SamplingHelper(\r\n model.log_posterior_density, model.trainable_parameters\r\n)\r\nhmc = tfp.mcmc.HamiltonianMonteCarlo(\r\n target_log_prob_fn=hmc_helper.target_log_prob_fn, ...\r\n)\r\n```\r\nIn this case, the function that runs the MCMC chain should be wrapped in tf.function() (see MCMC notebook).",
"closed_at": "2020-03-31T12:17:12Z",
"comments": 14,
"comments_url": "https://api.github.com/repos/GPflow/GPflow/issues/1276/comments",
"created_at": "2020-02-24T17:28:39Z",
"draft": false,
"events_url": "https://api.github.com/repos/GPflow/GPflow/issues/1276/events",
"html_url": "https://github.com/GPflow/GPflow/pull/1276",
"id": 570006712,
"labels": [],
"labels_url": "https://api.github.com/repos/GPflow/GPflow/issues/1276/labels{/name}",
"locked": false,
"milestone": null,
"node_id": "MDExOlB1bGxSZXF1ZXN0Mzc5MTEzMTg4",
"number": 1276,
"performed_via_github_app": null,
"pull_request": {
"diff_url": "https://github.com/GPflow/GPflow/pull/1276.diff",
"html_url": "https://github.com/GPflow/GPflow/pull/1276",
"patch_url": "https://github.com/GPflow/GPflow/pull/1276.patch",
"url": "https://api.github.com/repos/GPflow/GPflow/pulls/1276"
},
"repository_url": "https://api.github.com/repos/GPflow/GPflow",
"score": 1.0,
"state": "closed",
"title": "refactor training objective methods",
"updated_at": "2020-03-31T12:17:17Z",
"url": "https://api.github.com/repos/GPflow/GPflow/issues/1276",
"user": {
"avatar_url": "https://avatars.githubusercontent.com/u/5763727?v=4",
"events_url": "https://api.github.com/users/st--/events{/privacy}",
"followers_url": "https://api.github.com/users/st--/followers",
"following_url": "https://api.github.com/users/st--/following{/other_user}",
"gists_url": "https://api.github.com/users/st--/gists{/gist_id}",
"gravatar_id": "",
"html_url": "https://github.com/st--",
"id": 5763727,
"login": "st--",
"node_id": "MDQ6VXNlcjU3NjM3Mjc=",
"organizations_url": "https://api.github.com/users/st--/orgs",
"received_events_url": "https://api.github.com/users/st--/received_events",
"repos_url": "https://api.github.com/users/st--/repos",
"site_admin": false,
"starred_url": "https://api.github.com/users/st--/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/st--/subscriptions",
"type": "User",
"url": "https://api.github.com/users/st--"
}
},
{
"active_lock_reason": null,
"assignee": null,
"assignees": [],
"author_association": "MEMBER",
"body": "This is not the finished version of our new API, it is a starting point that can achieve all of the following improvements. I recommend merge this PR first then we can all discuss it.\r\n\r\nKey improvements (comparing new API to 1.0b)\r\n\r\n* Overall:\r\n1. Both TF 2.1.0 and Pytorch 1.3.1 users are welcome\r\n2. now notebook friendly\r\n3. less API, more intuitive\r\n\r\n* Pipeline\r\n2. Pipeline is now pure numpy! good for debugging!\r\n3. pipeline is purely dynamic (no disk writing/reading anymore)\r\n4. pipleine can still take tf.dataset and torch.loader\r\n5. can use pipeline for a lot more than training itself (data generation, model testing ...)\r\n\r\n\r\n* Network:\r\n1. better data memory control: CPU -> control -> GPU ->control -> CPU\r\n\r\n* Estimator:\r\n1. Trace now has inputs,\r\n2. Key check (including checking Trace)\r\n3. Trace now has a unified system object to\r\n4. we still have warm up\r\n\r\n* Schedule:\r\n3 Different kinds of scheduling available\r\n\r\n",
"closed_at": "2020-02-11T07:33:33Z",
"comments": 0,
"comments_url": "https://api.github.com/repos/fastestimator/fastestimator/issues/434/comments",
"created_at": "2020-02-10T21:59:07Z",
"draft": false,
"events_url": "https://api.github.com/repos/fastestimator/fastestimator/issues/434/events",
"html_url": "https://github.com/fastestimator/fastestimator/pull/434",
"id": 562853883,
"labels": [],
"labels_url": "https://api.github.com/repos/fastestimator/fastestimator/issues/434/labels{/name}",
"locked": false,
"milestone": null,
"node_id": "MDExOlB1bGxSZXF1ZXN0MzczMzc0OTY4",
"number": 434,
"performed_via_github_app": null,
"pull_request": {
"diff_url": "https://github.com/fastestimator/fastestimator/pull/434.diff",
"html_url": "https://github.com/fastestimator/fastestimator/pull/434",
"patch_url": "https://github.com/fastestimator/fastestimator/pull/434.patch",
"url": "https://api.github.com/repos/fastestimator/fastestimator/pulls/434"
},
"repository_url": "https://api.github.com/repos/fastestimator/fastestimator",
"score": 1.0,
"state": "closed",
"title": "FastEstimator New API Introduction",
"updated_at": "2020-02-11T07:33:33Z",
"url": "https://api.github.com/repos/fastestimator/fastestimator/issues/434",
"user": {
"avatar_url": "https://avatars.githubusercontent.com/u/27377212?v=4",
"events_url": "https://api.github.com/users/vbvg2008/events{/privacy}",
"followers_url": "https://api.github.com/users/vbvg2008/followers",
"following_url": "https://api.github.com/users/vbvg2008/following{/other_user}",
"gists_url": "https://api.github.com/users/vbvg2008/gists{/gist_id}",
"gravatar_id": "",
"html_url": "https://github.com/vbvg2008",
"id": 27377212,
"login": "vbvg2008",
"node_id": "MDQ6VXNlcjI3Mzc3MjEy",
"organizations_url": "https://api.github.com/users/vbvg2008/orgs",
"received_events_url": "https://api.github.com/users/vbvg2008/received_events",
"repos_url": "https://api.github.com/users/vbvg2008/repos",
"site_admin": false,
"starred_url": "https://api.github.com/users/vbvg2008/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/vbvg2008/subscriptions",
"type": "User",
"url": "https://api.github.com/users/vbvg2008"
}
},
{
"active_lock_reason": null,
"assignee": null,
"assignees": [],
"author_association": "CONTRIBUTOR",
"body": "### Description of changes:\r\n\r\nQuip discussion here: https://quip-amazon.com/dDlmAQEJrMw1 and https://quip-amazon.com/vUgNAW7zGMcD\r\n\r\nThis PR addresses the following use cases:\r\n- Save weights, bias, losses, metrics (not gradients/inputs/outputs) from `tf.keras` + `model.fit()` - eager and non-eager mode.\r\n\r\nIn TF 1.X, keras launched a GraphExecutionFunction internally. In TF 2.X, it wraps everything in a tf.function, which does not expose any simple APIs without framework changes. More investigation is needed in this arena. The main issue is that gradients cannot be accessed any more from callbacks (not even to display in Tensorboard): https://github.com/tensorflow/tensorflow/issues/31173\r\n\r\nWe can access weights after each forward pass, by using the `model.layer[i].trainable_variables` method in the keras batch callback API.\r\n\r\nTesting done (in TF 2.0 DLC with vanilla TF2.0, vanilla TF2.1, ZCC TF2.0, ZCC TF 2.1)\r\n- Unit tests have been added to tests/tensorflow2/test_keras.py and test_keras_lstm.py.\r\nAll tests are similar to the ones for TF 1.x except a few that could not be supported because they required framework changes.\r\nExample: `test_collection_add()` -> TF 2.x doesn't provide layer inputs and outputs., `test_clash_with_custom_callbacks()` -> TF 2.x doesn't support fetches and callbacks.\r\n- ZCC integration test for eager and non-eager mode\r\n- Sagemaker test in tests/tensorflow2\r\n- Distributed training has not been tested yet\r\n\r\nTest with custom TF 2.1 and smdebug v0.6: executed a TF 2.x training script with a version of smdebug that doesn't support TF 2.x. No errors were observed, training completed as expected without the use of the debugger.\r\n\r\n#### Style and formatting:\r\n\r\nI have run `pre-commit install` to ensure that auto-formatting happens with every commit.\r\n\r\n#### Issue number, if available\r\n\r\nBy submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.\r\n\r\n#### Test output:\r\nZCC tests with TF 2.1:\r\n```\r\npython tests/zero_code_change/tensorflow2_integration_tests.py --script-mode\r\n2020-02-26 20:45:53.834152: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE3 SSE4.1 SSE4.2 AVX AVX2 FMA\r\n[2020-02-26 20:45:54.513 9018708c93c5:99972 INFO hook.py:198] Saving to /opt/ml/output/tensors \r\nTrain on 48000 samples, validate on 12000 samples\r\nEpoch 1/5\r\n[2020-02-26 20:45:54.870 9018708c93c5:99972 INFO hook.py:334] Monitoring the collections: losses, sm_metrics, metrics \r\n48000/48000 [==============================] - 36s 756us/sample - loss: 0.3551 - accuracy: 0.8984 - val_loss: 0.1776 - val_accuracy: 0.9487\r\nEpoch 2/5\r\n48000/48000 [==============================] - 36s 749us/sample - loss: 0.1811 - accuracy: 0.9465 - val_loss: 0.1366 - val_accuracy: 0.9603\r\nEpoch 3/5\r\n48000/48000 [==============================] - 38s 782us/sample - loss: 0.1371 - accuracy: 0.9600 - val_loss: 0.1192 - val_accuracy: 0.9654\r\nEpoch 4/5\r\n48000/48000 [==============================] - 35s 733us/sample - loss: 0.1152 - accuracy: 0.9666 - val_loss: 0.1054 - val_accuracy: 0.9709\r\nEpoch 5/5\r\n48000/48000 [==============================] - 34s 709us/sample - loss: 0.1009 - accuracy: 0.9697 - val_loss: 0.1007 - val_accuracy: 0.9724\r\n10000/10000 - 10s - loss: 0.0976 - accuracy: 0.9720\r\n[2020-02-26 20:49:04.127 9018708c93c5:99972 INFO utils.py:25] The end of training job file will not be written for jobs running under SageMaker.\r\n[2020-02-26 20:49:04.128 9018708c93c5:99972 INFO local_trial.py:35] Loading trial tensors at path /opt/ml/output/tensors \r\n[2020-02-26 20:49:04.828 9018708c93c5:99972 INFO hook.py:198] Saving to /opt/ml/output/tensors \r\nTrain on 48000 samples, validate on 12000 samples\r\nEpoch 1/5\r\n[2020-02-26 20:49:05.087 9018708c93c5:99972 INFO hook.py:334] Monitoring the collections: losses, sm_metrics, metrics\r\n48000/48000 [==============================] - 36s 740us/sample - loss: 0.3521 - accuracy: 0.8984 - val_loss: 0.1812 - val_accuracy: 0.9471\r\nEpoch 2/5 \r\n48000/48000 [==============================] - 37s 766us/sample - loss: 0.1765 - accuracy: 0.9465 - val_loss: 0.1304 - val_accuracy: 0.9621\r\nEpoch 3/5\r\n48000/48000 [==============================] - 35s 729us/sample - loss: 0.1359 - accuracy: 0.9595 - val_loss: 0.1147 - val_accuracy: 0.9660 \r\nEpoch 4/5\r\n48000/48000 [==============================] - 36s 741us/sample - loss: 0.1120 - accuracy: 0.9665 - val_loss: 0.1031 - val_accuracy: 0.9682\r\nEpoch 5/5\r\n48000/48000 [==============================] - 36s 751us/sample - loss: 0.0982 - accuracy: 0.9715 - val_loss: 0.1009 - val_accuracy: 0.9722\r\n10000/10000 - 11s - loss: 0.0964 - accuracy: 0.9722\r\n[2020-02-26 20:52:14.770 9018708c93c5:99972 INFO utils.py:25] The end of training job file will not be written for jobs running under SageMaker.\r\n[2020-02-26 20:52:14.775 9018708c93c5:99972 INFO local_trial.py:35] Loading trial tensors at path /opt/ml/output/tensors\r\n```\r\n\r\n```\r\npython tests/zero_code_change/tensorflow2_integration_tests.py\r\n2020-02-26 20:52:45.594514: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE3 SSE4.1 SSE4.2 AVX AVX2 FMA\r\n[2020-02-26 20:52:46.276 9018708c93c5:100331 INFO json_config.py:90] Creating hook from json_config at /tmp/zcc_config.json.\r\n[2020-02-26 20:52:46.276 9018708c93c5:100331 INFO hook.py:198] Saving to /opt/ml/output/tensors\r\nTrain on 48000 samples, validate on 12000 samples\r\nEpoch 1/5\r\n[2020-02-26 20:52:46.647 9018708c93c5:100331 INFO hook.py:334] Monitoring the collections: metrics, sm_metrics, losses\r\n48000/48000 [==============================] - 37s 780us/sample - loss: 0.3578 - accuracy: 0.8986 - val_loss: 0.1784 - val_accuracy: 0.9492\r\nEpoch 2/5\r\n48000/48000 [==============================] - 35s 725us/sample - loss: 0.1792 - accuracy: 0.9468 - val_loss: 0.1413 - val_accuracy: 0.9590\r\nEpoch 3/5\r\n48000/48000 [==============================] - 35s 722us/sample - loss: 0.1368 - accuracy: 0.9599 - val_loss: 0.1174 - val_accuracy: 0.9669\r\nEpoch 4/5\r\n48000/48000 [==============================] - 35s 728us/sample - loss: 0.1128 - accuracy: 0.9669 - val_loss: 0.1107 - val_accuracy: 0.9678\r\nEpoch 5/5\r\n48000/48000 [==============================] - 35s 739us/sample - loss: 0.0994 - accuracy: 0.9705 - val_loss: 0.1003 - val_accuracy: 0.9722\r\n10000/10000 - 11s - loss: 0.0927 - accuracy: 0.9735\r\n[2020-02-26 20:55:54.738 9018708c93c5:100331 INFO utils.py:25] The end of training job file will not be written for jobs running under SageMaker.\r\n[2020-02-26 20:55:54.739 9018708c93c5:100331 INFO local_trial.py:35] Loading trial tensors at path /opt/ml/output/tensors\r\n[2020-02-26 20:55:55.427 9018708c93c5:100331 INFO json_config.py:90] Creating hook from json_config at /tmp/zcc_config.json.\r\n[2020-02-26 20:55:55.428 9018708c93c5:100331 INFO hook.py:198] Saving to /opt/ml/output/tensors\r\nTrain on 48000 samples, validate on 12000 samples\r\nEpoch 1/5\r\n[2020-02-26 20:55:55.669 9018708c93c5:100331 INFO hook.py:334] Monitoring the collections: metrics, sm_metrics, losses\r\n48000/48000 [==============================] - 34s 718us/sample - loss: 0.3480 - accuracy: 0.8997 - val_loss: 0.1787 - val_accuracy: 0.9495\r\nEpoch 2/5\r\n48000/48000 [==============================] - 34s 710us/sample - loss: 0.1762 - accuracy: 0.9473 - val_loss: 0.1348 - val_accuracy: 0.9620\r\nEpoch 3/5\r\n48000/48000 [==============================] - 34s 707us/sample - loss: 0.1341 - accuracy: 0.9609 - val_loss: 0.1158 - val_accuracy: 0.9657\r\nEpoch 4/5\r\n48000/48000 [==============================] - 35s 724us/sample - loss: 0.1146 - accuracy: 0.9670 - val_loss: 0.1041 - val_accuracy: 0.9697\r\nEpoch 5/5\r\n48000/48000 [==============================] - 34s 718us/sample - loss: 0.0959 - accuracy: 0.9717 - val_loss: 0.0996 - val_accuracy: 0.9714\r\n10000/10000 - 10s - loss: 0.0923 - accuracy: 0.9739\r\n[2020-02-26 20:58:57.412 9018708c93c5:100331 INFO utils.py:25] The end of training job file will not be written for jobs running under SageMaker.\r\n[2020-02-26 20:58:57.414 9018708c93c5:100331 INFO local_trial.py:35] Loading trial tensors at path /opt/ml/output/tensors\r\n```\r\n\r\nTraining time in seconds per epoch: \r\nkeras training script executed for 3 epochs, CIFAR10 dataset\r\nTF ZCC GPU\r\nsmdebug including this PR\r\np3.2x\r\n\r\n\r\ntest case | TF 2.0 | TF 2.1 |\r\n-- | -- |--\r\nno smdebug | 59\u00a0 | 51.9\u00a0 | \r\nsmdebug, saving only losses | \u00a060.7 | \u00a053.2 | \r\nsmdebug saving losses and weights | \u00a063.7 | 58.2\u00a0 | \r\n\r\n",
"closed_at": "2020-03-10T18:34:33Z",
"comments": 5,
"comments_url": "https://api.github.com/repos/awslabs/sagemaker-debugger/issues/150/comments",
"created_at": "2020-01-18T00:19:04Z",
"draft": false,
"events_url": "https://api.github.com/repos/awslabs/sagemaker-debugger/issues/150/events",
"html_url": "https://github.com/awslabs/sagemaker-debugger/pull/150",
"id": 551690164,
"labels": [],
"labels_url": "https://api.github.com/repos/awslabs/sagemaker-debugger/issues/150/labels{/name}",
"locked": false,
"milestone": null,
"node_id": "MDExOlB1bGxSZXF1ZXN0MzY0MzY3MzA0",
"number": 150,
"performed_via_github_app": null,
"pull_request": {
"diff_url": "https://github.com/awslabs/sagemaker-debugger/pull/150.diff",
"html_url": "https://github.com/awslabs/sagemaker-debugger/pull/150",
"patch_url": "https://github.com/awslabs/sagemaker-debugger/pull/150.patch",
"url": "https://api.github.com/repos/awslabs/sagemaker-debugger/pulls/150"
},
"repository_url": "https://api.github.com/repos/awslabs/sagemaker-debugger",
"score": 1.0,
"state": "closed",
"title": "Experimental limited support for TF 2.x tf.keras callback hook",
"updated_at": "2020-03-10T18:34:34Z",
"url": "https://api.github.com/repos/awslabs/sagemaker-debugger/issues/150",
"user": {
"avatar_url": "https://avatars.githubusercontent.com/u/4564897?v=4",
"events_url": "https://api.github.com/users/jarednielsen/events{/privacy}",
"followers_url": "https://api.github.com/users/jarednielsen/followers",
"following_url": "https://api.github.com/users/jarednielsen/following{/other_user}",
"gists_url": "https://api.github.com/users/jarednielsen/gists{/gist_id}",
"gravatar_id": "",
"html_url": "https://github.com/jarednielsen",
"id": 4564897,
"login": "jarednielsen",
"node_id": "MDQ6VXNlcjQ1NjQ4OTc=",
"organizations_url": "https://api.github.com/users/jarednielsen/orgs",
"received_events_url": "https://api.github.com/users/jarednielsen/received_events",
"repos_url": "https://api.github.com/users/jarednielsen/repos",
"site_admin": false,
"starred_url": "https://api.github.com/users/jarednielsen/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/jarednielsen/subscriptions",
"type": "User",
"url": "https://api.github.com/users/jarednielsen"
}
},
{
"active_lock_reason": null,
"assignee": null,
"assignees": [],
"author_association": "CONTRIBUTOR",
"body": "<!-- Thank you for your contribution! Please review https://github.com/ray-project/ray/blob/master/CONTRIBUTING.rst before opening a pull request. -->\r\n\r\n## What do these changes do?\r\n\r\nDefine the new ModelV2 API that is object oriented and compatible with keras models.\r\n\r\n- [x] Split make_action_sampler into make_model and action_sampler_fn\r\n- [x] Make compatibility wrapper around ModelV1\r\n- [x] Add SimpleQ policy for debugging\r\n- [x] Add keras custom models examples\r\n- [x] Port all existing builder-pattern algorithms to ModelV2\r\n- [x] Sanity check distributional / DQN performance on some basic Atari task\r\n\r\n## Related issue number\r\n\r\nPart 1 for https://github.com/ray-project/ray/issues/4905\r\n\r\n## Linter\r\n\r\n- [x] I've run `scripts/format.sh` to lint the changes in this PR.\r\n",
"closed_at": "2019-07-03T22:59:48Z",
"comments": 65,
"comments_url": "https://api.github.com/repos/ray-project/ray/issues/4926/comments",
"created_at": "2019-06-04T11:23:16Z",
"draft": false,
"events_url": "https://api.github.com/repos/ray-project/ray/issues/4926/events",
"html_url": "https://github.com/ray-project/ray/pull/4926",
"id": 451940524,
"labels": [],
"labels_url": "https://api.github.com/repos/ray-project/ray/issues/4926/labels{/name}",
"locked": false,
"milestone": null,
"node_id": "MDExOlB1bGxSZXF1ZXN0Mjg0OTI4Mjgy",
"number": 4926,
"performed_via_github_app": null,
"pull_request": {
"diff_url": "https://github.com/ray-project/ray/pull/4926.diff",
"html_url": "https://github.com/ray-project/ray/pull/4926",
"patch_url": "https://github.com/ray-project/ray/pull/4926.patch",
"url": "https://api.github.com/repos/ray-project/ray/pulls/4926"
},
"repository_url": "https://api.github.com/repos/ray-project/ray",
"score": 1.0,
"state": "closed",
"title": "[rllib] ModelV2 API",
"updated_at": "2019-07-03T22:59:48Z",
"url": "https://api.github.com/repos/ray-project/ray/issues/4926",
"user": {
"avatar_url": "https://avatars.githubusercontent.com/u/14922?v=4",
"events_url": "https://api.github.com/users/ericl/events{/privacy}",
"followers_url": "https://api.github.com/users/ericl/followers",
"following_url": "https://api.github.com/users/ericl/following{/other_user}",
"gists_url": "https://api.github.com/users/ericl/gists{/gist_id}",
"gravatar_id": "",
"html_url": "https://github.com/ericl",
"id": 14922,
"login": "ericl",
"node_id": "MDQ6VXNlcjE0OTIy",
"organizations_url": "https://api.github.com/users/ericl/orgs",
"received_events_url": "https://api.github.com/users/ericl/received_events",
"repos_url": "https://api.github.com/users/ericl/repos",
"site_admin": false,
"starred_url": "https://api.github.com/users/ericl/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/ericl/subscriptions",
"type": "User",
"url": "https://api.github.com/users/ericl"
}
},
{
"active_lock_reason": null,
"assignee": {
"avatar_url": "https://avatars.githubusercontent.com/u/23486130?v=4",
"events_url": "https://api.github.com/users/tfboyd/events{/privacy}",
"followers_url": "https://api.github.com/users/tfboyd/followers",
"following_url": "https://api.github.com/users/tfboyd/following{/other_user}",
"gists_url": "https://api.github.com/users/tfboyd/gists{/gist_id}",
"gravatar_id": "",
"html_url": "https://github.com/tfboyd",
"id": 23486130,
"login": "tfboyd",
"node_id": "MDQ6VXNlcjIzNDg2MTMw",
"organizations_url": "https://api.github.com/users/tfboyd/orgs",
"received_events_url": "https://api.github.com/users/tfboyd/received_events",
"repos_url": "https://api.github.com/users/tfboyd/repos",
"site_admin": false,
"starred_url": "https://api.github.com/users/tfboyd/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/tfboyd/subscriptions",
"type": "User",
"url": "https://api.github.com/users/tfboyd"
},
"assignees": [
{
"avatar_url": "https://avatars.githubusercontent.com/u/23486130?v=4",
"events_url": "https://api.github.com/users/tfboyd/events{/privacy}",
"followers_url": "https://api.github.com/users/tfboyd/followers",
"following_url": "https://api.github.com/users/tfboyd/following{/other_user}",
"gists_url": "https://api.github.com/users/tfboyd/gists{/gist_id}",
"gravatar_id": "",
"html_url": "https://github.com/tfboyd",
"id": 23486130,
"login": "tfboyd",
"node_id": "MDQ6VXNlcjIzNDg2MTMw",
"organizations_url": "https://api.github.com/users/tfboyd/orgs",
"received_events_url": "https://api.github.com/users/tfboyd/received_events",
"repos_url": "https://api.github.com/users/tfboyd/repos",
"site_admin": false,
"starred_url": "https://api.github.com/users/tfboyd/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/tfboyd/subscriptions",
"type": "User",
"url": "https://api.github.com/users/tfboyd"
},
{
"avatar_url": "https://avatars.githubusercontent.com/u/43972606?v=4",
"events_url": "https://api.github.com/users/rthadur/events{/privacy}",
"followers_url": "https://api.github.com/users/rthadur/followers",
"following_url": "https://api.github.com/users/rthadur/following{/other_user}",
"gists_url": "https://api.github.com/users/rthadur/gists{/gist_id}",
"gravatar_id": "",
"html_url": "https://github.com/rthadur",
"id": 43972606,
"login": "rthadur",
"node_id": "MDQ6VXNlcjQzOTcyNjA2",
"organizations_url": "https://api.github.com/users/rthadur/orgs",
"received_events_url": "https://api.github.com/users/rthadur/received_events",
"repos_url": "https://api.github.com/users/rthadur/repos",
"site_admin": false,
"starred_url": "https://api.github.com/users/rthadur/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/rthadur/subscriptions",
"type": "User",
"url": "https://api.github.com/users/rthadur"
}
],
"author_association": "CONTRIBUTOR",
"body": "Adds an opt-in Grappler pass to convert parts of a graph from float32 to float16.\r\n\r\nThanks to @minminsun, @Dido0o0, and @yangjunpro of Alibaba for their useful collaboration and feedback on this work.\r\n\r\nAttention @azaks2 and @reedwm, and FYI @jlebar.",
"closed_at": "2019-04-11T17:28:09Z",
"comments": 42,
"comments_url": "https://api.github.com/repos/tensorflow/tensorflow/issues/26342/comments",
"created_at": "2019-03-05T04:04:48Z",
"draft": false,
"events_url": "https://api.github.com/repos/tensorflow/tensorflow/issues/26342/events",
"html_url": "https://github.com/tensorflow/tensorflow/pull/26342",
"id": 417106693,
"labels": [
{
"color": "009800",
"default": false,
"description": null,
"id": 300136587,
"name": "cla: yes",
"node_id": "MDU6TGFiZWwzMDAxMzY1ODc=",
"url": "https://api.github.com/repos/tensorflow/tensorflow/labels/cla:%20yes"
},
{
"color": "2cd643",
"default": false,
"description": "PR ready for merge process",
"id": 987666414,
"name": "ready to pull",
"node_id": "MDU6TGFiZWw5ODc2NjY0MTQ=",
"url": "https://api.github.com/repos/tensorflow/tensorflow/labels/ready%20to%20pull"
},
{
"color": "adafea",
"default": false,
"description": "CL Change Size:Extra Large",
"id": 1173072136,
"name": "size:XL",
"node_id": "MDU6TGFiZWwxMTczMDcyMTM2",
"url": "https://api.github.com/repos/tensorflow/tensorflow/labels/size:XL"
}
],
"labels_url": "https://api.github.com/repos/tensorflow/tensorflow/issues/26342/labels{/name}",
"locked": false,
"milestone": null,
"node_id": "MDExOlB1bGxSZXF1ZXN0MjU4MTc2MTIy",
"number": 26342,
"performed_via_github_app": null,
"pull_request": {
"diff_url": "https://github.com/tensorflow/tensorflow/pull/26342.diff",
"html_url": "https://github.com/tensorflow/tensorflow/pull/26342",
"patch_url": "https://github.com/tensorflow/tensorflow/pull/26342.patch",
"url": "https://api.github.com/repos/tensorflow/tensorflow/pulls/26342"
},
"repository_url": "https://api.github.com/repos/tensorflow/tensorflow",
"score": 1.0,
"state": "closed",
"title": "Mixed precision Grappler optimizer",
"updated_at": "2020-06-18T10:11:39Z",
"url": "https://api.github.com/repos/tensorflow/tensorflow/issues/26342",
"user": {
"avatar_url": "https://avatars.githubusercontent.com/u/10891704?v=4",
"events_url": "https://api.github.com/users/MattConley/events{/privacy}",
"followers_url": "https://api.github.com/users/MattConley/followers",
"following_url": "https://api.github.com/users/MattConley/following{/other_user}",
"gists_url": "https://api.github.com/users/MattConley/gists{/gist_id}",
"gravatar_id": "",
"html_url": "https://github.com/MattConley",
"id": 10891704,
"login": "MattConley",
"node_id": "MDQ6VXNlcjEwODkxNzA0",
"organizations_url": "https://api.github.com/users/MattConley/orgs",
"received_events_url": "https://api.github.com/users/MattConley/received_events",
"repos_url": "https://api.github.com/users/MattConley/repos",
"site_admin": false,
"starred_url": "https://api.github.com/users/MattConley/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/MattConley/subscriptions",
"type": "User",
"url": "https://api.github.com/users/MattConley"
}
},
{
"active_lock_reason": null,
"assignee": null,
"assignees": [],
"author_association": "CONTRIBUTOR",
"body": "This PR aims to make Plans much simpler:\r\n- When sent, now the reference is kept through a PlanPointer systematically\r\n- The Plan class uses sub-objects classes State and Procedure to handle small operations\r\n\r\n**New features**\r\n- Add a clone functionality\r\n- Improve inplace fix_prec_ and share_\r\n- Make PlanPointer work with single and multiple locations\r\n\r\nTODO:\r\n- [x] remove keys and change the fun2plan state dict -> list\r\n- [x] improve the .send() by maybe making a global clone of the plan instead of repairing the stuff after it is sent (not practical, instead I simplified the build method)",
"closed_at": "2019-10-14T05:27:01Z",
"comments": 1,
"comments_url": "https://api.github.com/repos/OpenMined/PySyft/issues/2627/comments",
"created_at": "2019-09-25T11:58:31Z",
"draft": false,
"events_url": "https://api.github.com/repos/OpenMined/PySyft/issues/2627/events",
"html_url": "https://github.com/OpenMined/PySyft/pull/2627",
"id": 498238196,
"labels": [
{
"color": "666666",
"default": false,
"description": "A complete overhaul of a file, feature, or codebase",
"id": 1013636598,
"name": "Type: Refactor :hammer:",
"node_id": "MDU6TGFiZWwxMDEzNjM2NTk4",
"url": "https://api.github.com/repos/OpenMined/PySyft/labels/Type:%20Refactor%20:hammer:"
}
],
"labels_url": "https://api.github.com/repos/OpenMined/PySyft/issues/2627/labels{/name}",
"locked": false,
"milestone": null,
"node_id": "MDExOlB1bGxSZXF1ZXN0MzIxMjA4NjQz",
"number": 2627,
"performed_via_github_app": null,
"pull_request": {
"diff_url": "https://github.com/OpenMined/PySyft/pull/2627.diff",
"html_url": "https://github.com/OpenMined/PySyft/pull/2627",
"patch_url": "https://github.com/OpenMined/PySyft/pull/2627.patch",
"url": "https://api.github.com/repos/OpenMined/PySyft/pulls/2627"
},
"repository_url": "https://api.github.com/repos/OpenMined/PySyft",
"score": 1.0,
"state": "closed",
"title": "Refactor Plan",
"updated_at": "2019-10-14T05:27:02Z",
"url": "https://api.github.com/repos/OpenMined/PySyft/issues/2627",
"user": {
"avatar_url": "https://avatars.githubusercontent.com/u/12446521?v=4",
"events_url": "https://api.github.com/users/LaRiffle/events{/privacy}",
"followers_url": "https://api.github.com/users/LaRiffle/followers",
"following_url": "https://api.github.com/users/LaRiffle/following{/other_user}",
"gists_url": "https://api.github.com/users/LaRiffle/gists{/gist_id}",
"gravatar_id": "",
"html_url": "https://github.com/LaRiffle",
"id": 12446521,
"login": "LaRiffle",
"node_id": "MDQ6VXNlcjEyNDQ2NTIx",
"organizations_url": "https://api.github.com/users/LaRiffle/orgs",
"received_events_url": "https://api.github.com/users/LaRiffle/received_events",
"repos_url": "https://api.github.com/users/LaRiffle/repos",
"site_admin": false,
"starred_url": "https://api.github.com/users/LaRiffle/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/LaRiffle/subscriptions",
"type": "User",
"url": "https://api.github.com/users/LaRiffle"
}
},
{
"active_lock_reason": null,
"assignee": null,
"assignees": [],
"author_association": "COLLABORATOR",
"body": "Reopening PR for TF2 porting...\r\n\r\nI'm hoping this posting provides some evidence of progress. With your last guidance, I was able to get a \"minimal training loop\" working with model subclassing and eager execution. \r\n\r\nI wanted to offer you an early look at how I'm adapting Ludwig training to TF2 eager execution.\r\n\r\nThis commit demonstrates the minimal training loop for this `model_definition`:\r\n``` \r\ninput_features = [\r\n {'name': 'x1', 'type': 'numerical', 'preprocessing': {'normalization': 'zscore'}},\r\n {'name': 'x2', 'type': 'numerical', 'preprocessing': {'normalization': 'zscore'}},\r\n {'name': 'x3', 'type': 'numerical', 'preprocessing': {'normalization': 'zscore'}}\r\n]\r\noutput_features = [\r\n {'name': 'y', 'type': 'numerical'}\r\n]\r\n\r\nmodel_definition = {\r\n 'input_features': input_features,\r\n 'output_features': output_features,\r\n 'combiner': {\r\n 'type': 'concat', # 'concat',\r\n 'num_fc_layers': 5,\r\n 'fc_size': 64\r\n },\r\n 'training': {'epochs': 100}\r\n}\r\n```\r\n\r\nThe main result of this \"minimal training loop\" is demonstrating:\r\n* not blowing up while running the specified number epochs\r\n* Create numpy arrays used for training from input features and output features specified in `model_definition`\r\n* reduction in the loss function during training\r\n\r\nHere is an excerpt of the log file for the minimal training loop:\r\n```\r\n\r\nEpoch 1\r\n\r\nEpoch 1\r\nTraining: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 6/6 [00:00<00:00, 50.40it/s]\r\nEpoch 1, train Loss: 9732.708984375, : train metric 9743.146484375\r\n\r\nEpoch 2\r\n\r\nEpoch 2\r\nTraining: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 6/6 [00:00<00:00, 77.71it/s]\r\nEpoch 2, train Loss: 9711.203125, : train metric 9721.9404296875\r\n\r\nEpoch 3\r\n\r\nEpoch 3\r\nTraining: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 6/6 [00:00<00:00, 80.07it/s]\r\nEpoch 3, train Loss: 9678.2998046875, : train metric 9689.5517578125\r\n\r\n<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>\r\n\r\nEpoch 50\r\n\r\nEpoch 50\r\nTraining: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 6/6 [00:00<00:00, 80.76it/s]\r\nEpoch 50, train Loss: 1540.60400390625, : train metric 1547.77294921875\r\n\r\nEpoch 51\r\n\r\nEpoch 51\r\nTraining: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 6/6 [00:00<00:00, 75.30it/s]\r\nEpoch 51, train Loss: 1510.5498046875, : train metric 1517.5792236328125\r\n\r\nEpoch 52\r\n\r\nEpoch 52\r\nTraining: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 6/6 [00:00<00:00, 75.37it/s]\r\nEpoch 52, train Loss: 1481.64404296875, : train metric 1488.5391845703125\r\n\r\n<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>\r\n\r\nEpoch 98\r\n\r\nEpoch 98\r\nTraining: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 6/6 [00:00<00:00, 78.33it/s]\r\nEpoch 98, train Loss: 787.4824829101562, : train metric 791.1544189453125\r\n\r\nEpoch 99\r\n\r\nEpoch 99\r\nTraining: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 6/6 [00:00<00:00, 75.26it/s]\r\nEpoch 99, train Loss: 779.5379028320312, : train metric 783.1728515625\r\n\r\nEpoch 100\r\n\r\nEpoch 100\r\nTraining: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 6/6 [00:00<00:00, 83.06it/s]\r\nEpoch 100, train Loss: 771.7520141601562, : train metric 775.3506469726562\r\n\r\n```\r\nHere is the entire eager execution log file:\r\n[proof-of-concept_log_tf2_eager_exec.txt](https://github.com/uber/ludwig/files/4272149/proof-of-concept_log_tf2_eager_exec.txt).\r\n\r\nNow comes all the limitations and caveats for the current state of the code:\r\n* training loss reduction is not has fast as the TF1 implementation. Here is the TF1 log file for the same model\r\n[proof-of-concept_log_tf1.txt](https://github.com/uber/ludwig/files/4272151/proof-of-concept_log_tf1.txt).\r\n* Commented out large sections of the code in the `model.train()` method. I envision re-enabling and modifying the commented code as work progresses\r\n* Several items were hard-coded in this implemantion to miminize the amount of change required just to demonstrate the \"training loop\". The hard-code functions are \r\n * The encoder structure is hard-coded in the `model.call()` method. This will change to reflect the encorder/decoders specified in the `model_definition` \r\n * the objective, loss and metric functions are hard-coded. Future work will be build these from the `model_defintion`\r\n* One of the sections of code commented out creates these data structures. Without theses structures Ludwig processing after the training loop abnormally terminates. This will be fixed as the work progresses. Actually, I'm thinking that this is the next thing to fix with the simple model I'm using for testing. If I can get these enabled, then the rest of Ludwig processing \"should work\".\r\n * progress_tracker.train_stats\r\n * progress_tracker.vali_stats\r\n * progress_tracker.test_stats\r\n\r\n\r\n",
"closed_at": "2020-03-27T23:27:18Z",
"comments": 92,
"comments_url": "https://api.github.com/repos/ludwig-ai/ludwig/issues/646/comments",
"created_at": "2020-03-01T17:22:23Z",
"draft": false,
"events_url": "https://api.github.com/repos/ludwig-ai/ludwig/issues/646/events",
"html_url": "https://github.com/ludwig-ai/ludwig/pull/646",
"id": 573582554,
"labels": [],
"labels_url": "https://api.github.com/repos/ludwig-ai/ludwig/issues/646/labels{/name}",
"locked": false,
"milestone": null,
"node_id": "MDExOlB1bGxSZXF1ZXN0MzgyMDcwMzgx",
"number": 646,
"performed_via_github_app": null,
"pull_request": {
"diff_url": "https://github.com/ludwig-ai/ludwig/pull/646.diff",
"html_url": "https://github.com/ludwig-ai/ludwig/pull/646",
"patch_url": "https://github.com/ludwig-ai/ludwig/pull/646.patch",
"url": "https://api.github.com/repos/ludwig-ai/ludwig/pulls/646"
},
"repository_url": "https://api.github.com/repos/ludwig-ai/ludwig",
"score": 1.0,
"state": "closed",
"title": "TF2 porting: eager mode training and evaluation, numerical and binary features",
"updated_at": "2020-03-27T23:43:40Z",
"url": "https://api.github.com/repos/ludwig-ai/ludwig/issues/646",
"user": {
"avatar_url": "https://avatars.githubusercontent.com/u/1425269?v=4",
"events_url": "https://api.github.com/users/jimthompson5802/events{/privacy}",
"followers_url": "https://api.github.com/users/jimthompson5802/followers",
"following_url": "https://api.github.com/users/jimthompson5802/following{/other_user}",
"gists_url": "https://api.github.com/users/jimthompson5802/gists{/gist_id}",
"gravatar_id": "",
"html_url": "https://github.com/jimthompson5802",
"id": 1425269,
"login": "jimthompson5802",
"node_id": "MDQ6VXNlcjE0MjUyNjk=",
"organizations_url": "https://api.github.com/users/jimthompson5802/orgs",
"received_events_url": "https://api.github.com/users/jimthompson5802/received_events",
"repos_url": "https://api.github.com/users/jimthompson5802/repos",
"site_admin": false,
"starred_url": "https://api.github.com/users/jimthompson5802/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/jimthompson5802/subscriptions",
"type": "User",
"url": "https://api.github.com/users/jimthompson5802"
}
},
{
"active_lock_reason": null,
"assignee": null,
"assignees": [],
"author_association": "MEMBER",
"body": "1. a convertor for ROCO (from voc to TFrecord)\r\n2. a visualizer to verify the correctness of our TFRecords files from the convertor or other sources.\r\n3. trival fix",
"closed_at": "2020-08-19T15:19:47Z",
"comments": 7,
"comments_url": "https://api.github.com/repos/illini-robomaster/iRM_Autonomy_2020/issues/18/comments",
"created_at": "2020-08-16T13:57:31Z",
"draft": false,
"events_url": "https://api.github.com/repos/illini-robomaster/iRM_Autonomy_2020/issues/18/events",
"html_url": "https://github.com/illini-robomaster/iRM_Autonomy_2020/pull/18",
"id": 679759257,
"labels": [],
"labels_url": "https://api.github.com/repos/illini-robomaster/iRM_Autonomy_2020/issues/18/labels{/name}",
"locked": false,
"milestone": null,
"node_id": "MDExOlB1bGxSZXF1ZXN0NDY4NDQ4MTY1",
"number": 18,
"performed_via_github_app": null,
"pull_request": {
"diff_url": "https://github.com/illini-robomaster/iRM_Autonomy_2020/pull/18.diff",
"html_url": "https://github.com/illini-robomaster/iRM_Autonomy_2020/pull/18",
"patch_url": "https://github.com/illini-robomaster/iRM_Autonomy_2020/pull/18.patch",
"url": "https://api.github.com/repos/illini-robomaster/iRM_Autonomy_2020/pulls/18"
},
"repository_url": "https://api.github.com/repos/illini-robomaster/iRM_Autonomy_2020",
"score": 1.0,
"state": "closed",
"title": "a convertor for ROCO dataset and a visualizer to check TFRecords \u2026",
"updated_at": "2020-08-19T15:19:48Z",
"url": "https://api.github.com/repos/illini-robomaster/iRM_Autonomy_2020/issues/18",
"user": {
"avatar_url": "https://avatars.githubusercontent.com/u/38276635?v=4",
"events_url": "https://api.github.com/users/AlchemicRonin/events{/privacy}",
"followers_url": "https://api.github.com/users/AlchemicRonin/followers",
"following_url": "https://api.github.com/users/AlchemicRonin/following{/other_user}",
"gists_url": "https://api.github.com/users/AlchemicRonin/gists{/gist_id}",
"gravatar_id": "",
"html_url": "https://github.com/AlchemicRonin",
"id": 38276635,
"login": "AlchemicRonin",
"node_id": "MDQ6VXNlcjM4Mjc2NjM1",
"organizations_url": "https://api.github.com/users/AlchemicRonin/orgs",
"received_events_url": "https://api.github.com/users/AlchemicRonin/received_events",
"repos_url": "https://api.github.com/users/AlchemicRonin/repos",
"site_admin": false,
"starred_url": "https://api.github.com/users/AlchemicRonin/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/AlchemicRonin/subscriptions",
"type": "User",
"url": "https://api.github.com/users/AlchemicRonin"
}
},
{
"active_lock_reason": null,
"assignee": null,
"assignees": [],
"author_association": "CONTRIBUTOR",
"body": "**Review period open through 2019-10-17**\r\n\r\nStatus | Accepted\r\n:------------ | :------------------------------------------------------------\r\n**Author(s)** | Zhuo Peng ([email protected]), Kester Tong ([email protected])\r\n**Sponsor** | Konstantinos Katsiapis ([email protected])\r\n**Updated** | 2019-10-03\r\n\r\n## Objective\r\n\r\n* To define a common in-memory data representation that:\r\n * is powerful enough to encode the following logical training data format:\r\n flat ([`tf.Example`](https://github.com/tensorflow/tensorflow/blob/abfba15cd9734cec7ecd3d0661b146fc251c842d/tensorflow/core/example/example.proto#L88)), sequence\r\n ([`tf.SequenceExample`](https://github.com/tensorflow/tensorflow/blob/abfba15cd9734cec7ecd3d0661b146fc251c842d/tensorflow/core/example/example.proto#L298)) or structured data (e.g. [Protocol Buffers](https://developers.google.com/protocol-buffers) or [Apache Avro](https://avro.apache.org/)).\r\n * all TFX components can understand and can support their own unique use\r\n cases with.\r\n* To define an I/O abstraction layer that produces the above in-memory\r\n representation from supported physical storage formats, while hiding TFX\u2019s\r\n choice of such storage formats from TFX users.\r\n* To define a bridge from the above in-memory representation to TF feedables\r\n (i.e. Tensors and certain [CompositeTensors](https://github.com/tensorflow/tensorflow/blob/abfba15cd9734cec7ecd3d0661b146fc251c842d/tensorflow/python/framework/composite_tensor.py#L1)).\r\n",
"closed_at": "2019-11-08T01:23:41Z",
"comments": 13,
"comments_url": "https://api.github.com/repos/tensorflow/community/issues/162/comments",
"created_at": "2019-10-03T17:07:08Z",
"draft": false,
"events_url": "https://api.github.com/repos/tensorflow/community/issues/162/events",
"html_url": "https://github.com/tensorflow/community/pull/162",
"id": 502187790,
"labels": [
{
"color": "0e8a16",
"default": false,
"description": "RFC Design Document: Accepted by Review",
"id": 950965165,
"name": "RFC: Accepted",
"node_id": "MDU6TGFiZWw5NTA5NjUxNjU=",
"url": "https://api.github.com/repos/tensorflow/community/labels/RFC:%20Accepted"
},
{
"color": "afe2ed",
"default": false,
"description": "",
"id": 1508845365,
"name": "TFX",
"node_id": "MDU6TGFiZWwxNTA4ODQ1MzY1",
"url": "https://api.github.com/repos/tensorflow/community/labels/TFX"
},
{
"color": "59db94",
"default": false,
"description": "",
"id": 1204250421,
"name": "cla: yes",
"node_id": "MDU6TGFiZWwxMjA0MjUwNDIx",
"url": "https://api.github.com/repos/tensorflow/community/labels/cla:%20yes"
}
],
"labels_url": "https://api.github.com/repos/tensorflow/community/issues/162/labels{/name}",