1#cython: boundscheck=False 2#cython: wraparound=False 3#cython: infer_types=True 4import numpy as np 5cimport numpy as np 6 7from tensorflow.python.util import compat 8 9 10def AppendFloat32ArrayToTensorProto( 11 tensor_proto, np.ndarray[np.float32_t, ndim=1] nparray): 12 cdef long i, n 13 n = nparray.size 14 for i in range(n): 15 tensor_proto.float_val.append(nparray[i]) 16 17 18def AppendFloat64ArrayToTensorProto( 19 tensor_proto, np.ndarray[np.float64_t, ndim=1] nparray): 20 cdef long i, n 21 n = nparray.size 22 for i in range(n): 23 tensor_proto.double_val.append(nparray[i]) 24 25 26def AppendInt32ArrayToTensorProto( 27 tensor_proto, np.ndarray[np.int32_t, ndim=1] nparray): 28 cdef long i, n 29 n = nparray.size 30 for i in range(n): 31 tensor_proto.int_val.append(nparray[i]) 32 33def AppendUInt32ArrayToTensorProto( 34 tensor_proto, np.ndarray[np.uint32_t, ndim=1] nparray): 35 cdef long i, n 36 n = nparray.size 37 for i in range(n): 38 tensor_proto.uint32_val.append(nparray[i]) 39 40def AppendInt64ArrayToTensorProto( 41 tensor_proto, np.ndarray[np.int64_t, ndim=1] nparray): 42 cdef long i, n 43 n = nparray.size 44 for i in range(n): 45 tensor_proto.int64_val.append(nparray[i]) 46 47def AppendUInt64ArrayToTensorProto( 48 tensor_proto, np.ndarray[np.uint64_t, ndim=1] nparray): 49 cdef long i, n 50 n = nparray.size 51 for i in range(n): 52 tensor_proto.uint64_val.append(nparray[i]) 53 54def AppendUInt8ArrayToTensorProto( 55 tensor_proto, np.ndarray[np.uint8_t, ndim=1] nparray): 56 cdef long i, n 57 n = nparray.size 58 for i in range(n): 59 tensor_proto.int_val.append(nparray[i]) 60 61 62def AppendUInt16ArrayToTensorProto( 63 tensor_proto, np.ndarray[np.uint16_t, ndim=1] nparray): 64 cdef long i, n 65 n = nparray.size 66 for i in range(n): 67 tensor_proto.int_val.append(nparray[i]) 68 69 70def AppendInt16ArrayToTensorProto( 71 tensor_proto, np.ndarray[np.int16_t, ndim=1] nparray): 72 cdef long i, n 73 n = nparray.size 74 for i in range(n): 75 tensor_proto.int_val.append(nparray[i]) 76 77 78def AppendInt8ArrayToTensorProto( 79 tensor_proto, np.ndarray[np.int8_t, ndim=1] nparray): 80 cdef long i, n 81 n = nparray.size 82 for i in range(n): 83 tensor_proto.int_val.append(nparray[i]) 84 85 86def AppendComplex64ArrayToTensorProto( 87 tensor_proto, np.ndarray[np.complex64_t, ndim=1] nparray): 88 cdef long i, n 89 n = nparray.size 90 for i in range(n): 91 tensor_proto.scomplex_val.append(nparray[i].real) 92 tensor_proto.scomplex_val.append(nparray[i].imag) 93 94 95def AppendComplex128ArrayToTensorProto( 96 tensor_proto, np.ndarray[np.complex128_t, ndim=1] nparray): 97 cdef long i, n 98 n = nparray.size 99 for i in range(n): 100 tensor_proto.dcomplex_val.append(nparray[i].real) 101 tensor_proto.dcomplex_val.append(nparray[i].imag) 102 103 104def AppendObjectArrayToTensorProto(tensor_proto, np.ndarray nparray): 105 cdef long i, n 106 n = nparray.size 107 for i in range(n): 108 tensor_proto.string_val.append(compat.as_bytes(nparray[i])) 109 110 111def AppendBoolArrayToTensorProto(tensor_proto, nparray): 112 cdef long i, n 113 n = nparray.size 114 for i in range(n): 115 tensor_proto.bool_val.append(np.asscalar(nparray[i])) 116