Store SparseTensors for feeding into batch_join, etc.
(tensor_list_list, enqueue_many, keep_input)
| 578 | |
| 579 | |
| 580 | def _store_sparse_tensors_join(tensor_list_list, enqueue_many, keep_input): |
| 581 | """Store SparseTensors for feeding into batch_join, etc.""" |
| 582 | (s0, sparse_info_list) = _store_sparse_tensors( |
| 583 | tensor_list_list[0], enqueue_many, keep_input) |
| 584 | stored_list_list = [s0] |
| 585 | for tensor_list in tensor_list_list[1:]: |
| 586 | s, sparse_info_candidate = _store_sparse_tensors( |
| 587 | tensor_list, enqueue_many, keep_input, |
| 588 | [st.map_op for st in sparse_info_list]) |
| 589 | if sparse_info_list != sparse_info_candidate: |
| 590 | raise ValueError("Inconsistent SparseTensors list: %s vs. %s" |
| 591 | % (tensor_list_list[0], tensor_list)) |
| 592 | sparse_info_list = [ |
| 593 | info.merge_with(candidate) |
| 594 | for (info, candidate) in zip(sparse_info_list, sparse_info_candidate)] |
| 595 | stored_list_list.append(s) |
| 596 | |
| 597 | return (stored_list_list, sparse_info_list) |
| 598 | |
| 599 | |
| 600 | def _restore_sparse_tensors(stored_list, sparse_info_list): |
no test coverage detected