Back to Jetson Inference

Jetson Inference: jetson

docs/html/randInt8Calibrator_8h_source.html

latest3.3 KB
Original Source

| | Jetson Inference

DNN Vision Library |

randInt8Calibrator.h

Go to the documentation of this file.

1 /*

2 * Copyright (c) 2018, NVIDIA CORPORATION. All rights reserved.

3 *

4 * Permission is hereby granted, free of charge, to any person obtaining a

5 * copy of this software and associated documentation files (the "Software"),

6 * to deal in the Software without restriction, including without limitation

7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,

8 * and/or sell copies of the Software, and to permit persons to whom the

9 * Software is furnished to do so, subject to the following conditions:

10 *

11 * The above copyright notice and this permission notice shall be included in

12 * all copies or substantial portions of the Software.

13 *

14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR

15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,

16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL

17 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER

18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING

19 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER

20 * DEALINGS IN THE SOFTWARE.

21 */

22

23 #ifndef __RAND_INT8_CALIBRATOR_H__

24 #define __RAND_INT8_CALIBRATOR_H__

25

26 #include "tensorNet.h"

27

28 #include <map>

29 #include <string>

30 #include <vector>

31

32

33 #if NV_TENSORRT_MAJOR >= 4

34

40 class randInt8Calibrator : public nvinfer1::IInt8EntropyCalibrator

41 {

42 public:

46 randInt8Calibrator( int totalSamples, std::string cacheFile,

47const std::map<std::string, nvinfer1::Dims3>& inputDimensions );

48

52 ~randInt8Calibrator();

53

57inline int getBatchSize() const NOEXCEPT override { return 1; }

58

62bool getBatch(void* bindings[], const char* names[], int nbBindings) NOEXCEPT override;

63

67const void* readCalibrationCache(size_t& length) NOEXCEPT override;

68

72virtual void writeCalibrationCache(const void*, size_t) NOEXCEPT override;

73

74 private:

75int mTotalSamples;

76int mCurrentSample;

77

78 std::string mCacheFile;

79 std::map<std::string, void*> mInputDeviceBuffers;

80 std::map<std::string, nvinfer1::Dims3> mInputDimensions;

81 std::vector<char> mCalibrationCache;

82 };

83

84 #endif

85 #endif

86

NOEXCEPT

#define NOEXCEPT

Definition: tensorNet.h:73

tensorNet.h

length

__host__ __device__ float length(float2 v)

Definition: cudaMath.h:1563