| 1762 | } |
| 1763 | |
| 1764 | std::vector<tensorflow::int64> MakeTensorIDList(PyObject* tensors) { |
| 1765 | PyObject* seq = PySequence_Fast(tensors, "expected a sequence"); |
| 1766 | if (seq == nullptr) { |
| 1767 | return {}; |
| 1768 | } |
| 1769 | int len = PySequence_Fast_GET_SIZE(seq); |
| 1770 | std::vector<tensorflow::int64> list; |
| 1771 | list.reserve(len); |
| 1772 | for (int i = 0; i < len; ++i) { |
| 1773 | PyObject* tensor = PySequence_Fast_GET_ITEM(seq, i); |
| 1774 | list.push_back(FastTensorId(tensor)); |
| 1775 | if (PyErr_Occurred()) { |
| 1776 | Py_DECREF(seq); |
| 1777 | return list; |
| 1778 | } |
| 1779 | } |
| 1780 | Py_DECREF(seq); |
| 1781 | return list; |
| 1782 | } |
| 1783 | |
| 1784 | void TFE_Py_TapeVariableAccessed(PyObject* variable) { |
| 1785 | if (*ThreadTapeIsStopped()) { |
no test coverage detected