Merge pull request #42404 from freedomtan:gpu_delegate_already_allows_quant

PiperOrigin-RevId: 327630219
Change-Id: I04153386bcf1a80af7356446ee279d29fb04d342
This commit is contained in:
TensorFlower Gardener 2020-08-20 08:31:04 -07:00
commit e7d27d8507
2 changed files with 47 additions and 47 deletions

View File

@ -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();
} }

View File

@ -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();
} }