예제 #1
0
        //
        // C++:  int64 cv::dnn::Net::getFLOPS(vector_MatShape netInputShapes)
        //

        //javadoc: Net::getFLOPS(netInputShapes)
        public long getFLOPS(List <MatOfInt> netInputShapes)
        {
            ThrowIfDisposed();
#if UNITY_PRO_LICENSE || ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
            Mat  netInputShapes_mat = Converters.vector_MatShape_to_Mat(netInputShapes);
            long retVal             = dnn_Net_getFLOPS_13(nativeObj, netInputShapes_mat.nativeObj);

            return(retVal);
#else
            return(-1);
#endif
        }
예제 #2
0
        //
        // C++:  void cv::dnn::Net::getMemoryConsumption(int layerId, vector_MatShape netInputShapes, size_t& weights, size_t& blobs)
        //

        //javadoc: Net::getMemoryConsumption(layerId, netInputShapes, weights, blobs)
        public void getMemoryConsumption(int layerId, List <MatOfInt> netInputShapes, long[] weights, long[] blobs)
        {
            ThrowIfDisposed();
#if UNITY_PRO_LICENSE || ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
            Mat      netInputShapes_mat = Converters.vector_MatShape_to_Mat(netInputShapes);
            double[] weights_out        = new double[1];
            double[] blobs_out          = new double[1];
            dnn_Net_getMemoryConsumption_12(nativeObj, layerId, netInputShapes_mat.nativeObj, weights_out, blobs_out);
            if (weights != null)
            {
                weights[0] = (long)weights_out[0];
            }
            if (blobs != null)
            {
                blobs[0] = (long)blobs_out[0];
            }
            return;
#else
            return;
#endif
        }