Merge pull request #42404 from freedomtan:gpu_delegate_already_allows_quant
PiperOrigin-RevId: 327630219 Change-Id: I04153386bcf1a80af7356446ee279d29fb04d342
This commit is contained in:
commit
e7d27d8507
@ -326,8 +326,10 @@ public class Camera2BasicFragment extends Fragment
|
|||||||
final int deviceIndex = deviceView.getCheckedItemPosition();
|
final int deviceIndex = deviceView.getCheckedItemPosition();
|
||||||
final int numThreads = np.getValue();
|
final int numThreads = np.getValue();
|
||||||
|
|
||||||
backgroundHandler.post(() -> {
|
backgroundHandler.post(
|
||||||
if (modelIndex == currentModel && deviceIndex == currentDevice
|
() -> {
|
||||||
|
if (modelIndex == currentModel
|
||||||
|
&& deviceIndex == currentDevice
|
||||||
&& numThreads == currentNumThreads) {
|
&& numThreads == currentNumThreads) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -368,12 +370,7 @@ public class Camera2BasicFragment extends Fragment
|
|||||||
classifier.setNumThreads(numThreads);
|
classifier.setNumThreads(numThreads);
|
||||||
if (device.equals(cpu)) {
|
if (device.equals(cpu)) {
|
||||||
} else if (device.equals(gpu)) {
|
} else if (device.equals(gpu)) {
|
||||||
if (model.equals(mobilenetV1Quant)) {
|
|
||||||
showToast("gpu requires float model.");
|
|
||||||
classifier = null;
|
|
||||||
} else {
|
|
||||||
classifier.useGpu();
|
classifier.useGpu();
|
||||||
}
|
|
||||||
} else if (device.equals(nnApi)) {
|
} else if (device.equals(nnApi)) {
|
||||||
classifier.useNNAPI();
|
classifier.useNNAPI();
|
||||||
}
|
}
|
||||||
|
@ -172,7 +172,10 @@ public abstract class ImageClassifier {
|
|||||||
|
|
||||||
public void useGpu() {
|
public void useGpu() {
|
||||||
if (gpuDelegate == null) {
|
if (gpuDelegate == null) {
|
||||||
gpuDelegate = new GpuDelegate();
|
GpuDelegate.Options options = new GpuDelegate.Options();
|
||||||
|
options.setQuantizedModelsAllowed(true);
|
||||||
|
|
||||||
|
gpuDelegate = new GpuDelegate(options);
|
||||||
tfliteOptions.addDelegate(gpuDelegate);
|
tfliteOptions.addDelegate(gpuDelegate);
|
||||||
recreateInterpreter();
|
recreateInterpreter();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user