aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/contrib/lite/experimental/objc/sources
diff options
context:
space:
mode:
Diffstat (limited to 'tensorflow/contrib/lite/experimental/objc/sources')
-rw-r--r--tensorflow/contrib/lite/experimental/objc/sources/TFLErrorUtil.h51
-rw-r--r--tensorflow/contrib/lite/experimental/objc/sources/TFLErrorUtil.m45
-rw-r--r--tensorflow/contrib/lite/experimental/objc/sources/TFLInterpreter.mm440
-rw-r--r--tensorflow/contrib/lite/experimental/objc/sources/TFLInterpreterOptions.m30
-rw-r--r--tensorflow/contrib/lite/experimental/objc/sources/TFLQuantizationParameters.m23
-rw-r--r--tensorflow/contrib/lite/experimental/objc/sources/TFLTensor+Internal.h42
-rw-r--r--tensorflow/contrib/lite/experimental/objc/sources/TFLTensor.m54
7 files changed, 0 insertions, 685 deletions
diff --git a/tensorflow/contrib/lite/experimental/objc/sources/TFLErrorUtil.h b/tensorflow/contrib/lite/experimental/objc/sources/TFLErrorUtil.h
deleted file mode 100644
index b6fd4763d6..0000000000
--- a/tensorflow/contrib/lite/experimental/objc/sources/TFLErrorUtil.h
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright 2018 Google Inc. All rights reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at:
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-#import <Foundation/Foundation.h>
-
-#import "third_party/tensorflow/contrib/lite/experimental/objc/apis/TFLInterpreter.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-/** Helper utility for error reporting. */
-@interface TFLErrorUtil : NSObject
-
-/**
- * Creates and returns an interpreter error with the given error code and description.
- *
- * @param code Error code.
- * @param description Error description.
- *
- * @return The created interpreter error with the given error code and description.
- */
-+ (NSError *)interpreterErrorWithCode:(TFLInterpreterErrorCode)code
- description:(NSString *)description;
-
-/**
- * Creates and saves an interpreter error with the given error code and description.
- *
- * @param code Error code.
- * @param description Error description.
- * @param error Pointer to where to save the created error. If `nil`, no error will be saved.
- */
-+ (void)saveInterpreterErrorWithCode:(TFLInterpreterErrorCode)code
- description:(NSString *)description
- error:(NSError **)error;
-
-/** Unavailable. */
-- (instancetype)init NS_UNAVAILABLE;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/tensorflow/contrib/lite/experimental/objc/sources/TFLErrorUtil.m b/tensorflow/contrib/lite/experimental/objc/sources/TFLErrorUtil.m
deleted file mode 100644
index 756d69481c..0000000000
--- a/tensorflow/contrib/lite/experimental/objc/sources/TFLErrorUtil.m
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright 2018 Google Inc. All rights reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at:
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-#import "TFLErrorUtil.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-/** Error domain of TensorFlow Lite interpreter related errors. */
-static NSString *const TFLInterpreterErrorDomain = @"org.tensorflow.lite.interpreter";
-
-@implementation TFLErrorUtil
-
-#pragma mark - Public
-
-+ (NSError *)interpreterErrorWithCode:(TFLInterpreterErrorCode)code
- description:(NSString *)description {
- return [NSError errorWithDomain:TFLInterpreterErrorDomain
- code:code
- userInfo:@{NSLocalizedDescriptionKey : description}];
-}
-
-+ (void)saveInterpreterErrorWithCode:(TFLInterpreterErrorCode)code
- description:(NSString *)description
- error:(NSError **)error {
- if (error) {
- *error = [NSError errorWithDomain:TFLInterpreterErrorDomain
- code:code
- userInfo:@{NSLocalizedDescriptionKey : description}];
- }
-}
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/tensorflow/contrib/lite/experimental/objc/sources/TFLInterpreter.mm b/tensorflow/contrib/lite/experimental/objc/sources/TFLInterpreter.mm
deleted file mode 100644
index 0f940a5cf3..0000000000
--- a/tensorflow/contrib/lite/experimental/objc/sources/TFLInterpreter.mm
+++ /dev/null
@@ -1,440 +0,0 @@
-// Copyright 2018 Google Inc. All rights reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at:
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-#import "third_party/tensorflow/contrib/lite/experimental/objc/apis/TFLInterpreter.h"
-
-#import "TFLErrorUtil.h"
-#import "TFLTensor+Internal.h"
-#import "third_party/tensorflow/contrib/lite/experimental/objc/apis/TFLInterpreterOptions.h"
-#import "third_party/tensorflow/contrib/lite/experimental/objc/apis/TFLTensor.h"
-
-#include "third_party/tensorflow/contrib/lite/experimental/c/c_api.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-/**
- * @enum TFLTensorType
- * This enum specifies input or output tensor types.
- */
-typedef NS_ENUM(NSUInteger, TFLTensorType) {
- /** Input tensor type. */
- TFLTensorTypeInput,
-
- /** Output tensor type. */
- TFLTensorTypeOutput,
-};
-
-// Names used for indicating input or output in error messages.
-static NSString *const kTFLInputDirection = @"input";
-static NSString *const kTFLOutputDirection = @"output";
-
-/**
- * Error reporter for TFLInterpreter.
- *
- * @param user_data User data. Not used.
- * @param format Error message which may contain argument formatting specifiers.
- * @param args Values of the arguments in the error message.
- */
-static void TFLInterpreterErrorReporter(void *user_data, const char *format, va_list args) {
- NSLog(@"%@", [[NSString alloc] initWithFormat:@(format) arguments:args]);
-}
-
-@interface TFLInterpreter ()
-
-/** TFL_Interpreter backed by C API. */
-@property(nonatomic, nullable) TFL_Interpreter *interpreter;
-
-/**
- * An error in initializing the interpreter. If not `nil`, this error will be reported when the
- * interpreter is used.
- */
-@property(nonatomic, nullable) NSError *initializationError;
-
-@end
-
-@implementation TFLInterpreter
-
-#pragma mark - NSObject
-
-- (void)dealloc {
- TFL_DeleteInterpreter(_interpreter);
-}
-
-#pragma mark - Public
-
-- (instancetype)initWithModelPath:(NSString *)modelPath {
- return [self initWithModelPath:modelPath options:[[TFLInterpreterOptions alloc] init]];
-}
-
-- (instancetype)initWithModelPath:(NSString *)modelPath options:(TFLInterpreterOptions *)options {
- self = [super init];
-
- if (self != nil) {
- const char *modelPathCString = modelPath.UTF8String;
- NSString *pathErrorString =
- [NSString stringWithFormat:@"Cannot load model from path (%@).", modelPath];
- if (modelPathCString == nullptr) {
- _initializationError =
- [TFLErrorUtil interpreterErrorWithCode:TFLInterpreterErrorCodeFailedToLoadModel
- description:pathErrorString];
- return self;
- }
-
- TFL_Model *model = TFL_NewModelFromFile(modelPathCString);
- if (model == nullptr) {
- _initializationError =
- [TFLErrorUtil interpreterErrorWithCode:TFLInterpreterErrorCodeFailedToLoadModel
- description:pathErrorString];
- return self;
- }
-
- TFL_InterpreterOptions *cOptions = TFL_NewInterpreterOptions();
- if (cOptions == nullptr) {
- _initializationError =
- [TFLErrorUtil interpreterErrorWithCode:TFLInterpreterErrorCodeFailedToCreateInterpreter
- description:@"Failed to create the interpreter."];
- TFL_DeleteModel(model);
- return self;
- }
-
- if (options.numberOfThreads > 0) {
- TFL_InterpreterOptionsSetNumThreads(cOptions, (int32_t)options.numberOfThreads);
- }
- TFL_InterpreterOptionsSetErrorReporter(cOptions, TFLInterpreterErrorReporter, nullptr);
-
- _interpreter = TFL_NewInterpreter(model, cOptions);
- if (_interpreter == nullptr) {
- _initializationError =
- [TFLErrorUtil interpreterErrorWithCode:TFLInterpreterErrorCodeFailedToCreateInterpreter
- description:@"Failed to create the interpreter."];
- } else {
- _inputTensorCount = (NSUInteger)TFL_InterpreterGetInputTensorCount(_interpreter);
- _outputTensorCount = (NSUInteger)TFL_InterpreterGetOutputTensorCount(_interpreter);
- if (_inputTensorCount <= 0 || _outputTensorCount <= 0) {
- _initializationError =
- [TFLErrorUtil interpreterErrorWithCode:TFLInterpreterErrorCodeFailedToCreateInterpreter
- description:@"Failed to create the interpreter."];
- }
- }
- TFL_DeleteInterpreterOptions(cOptions);
- TFL_DeleteModel(model);
- }
-
- return self;
-}
-
-- (BOOL)invokeWithError:(NSError **)error {
- if (self.initializationError != nil) {
- [self saveInitializationErrorToDestination:error];
- return NO;
- }
-
- if (TFL_InterpreterInvoke(self.interpreter) != kTfLiteOk) {
- [TFLErrorUtil saveInterpreterErrorWithCode:TFLInterpreterErrorCodeFailedToInvoke
- description:@"Failed to invoke the interpreter."
- error:error];
- return NO;
- }
-
- return YES;
-}
-
-- (nullable TFLTensor *)inputTensorAtIndex:(NSUInteger)index error:(NSError **)error {
- if (self.initializationError != nil) {
- [self saveInitializationErrorToDestination:error];
- return nil;
- }
-
- if (![self isValidTensorIndex:index belowLimit:self.inputTensorCount error:error]) {
- return nil;
- }
-
- return [self tensorOfType:TFLTensorTypeInput atIndex:index error:error];
-}
-
-- (nullable TFLTensor *)outputTensorAtIndex:(NSUInteger)index error:(NSError **)error {
- if (self.initializationError != nil) {
- [self saveInitializationErrorToDestination:error];
- return nil;
- }
-
- if (![self isValidTensorIndex:index belowLimit:self.outputTensorCount error:error]) {
- return nil;
- }
-
- return [self tensorOfType:TFLTensorTypeOutput atIndex:index error:error];
-}
-
-- (BOOL)resizeInputTensorAtIndex:(NSUInteger)index
- toShape:(NSArray<NSNumber *> *)shape
- error:(NSError **)error {
- if (self.initializationError != nil) {
- [self saveInitializationErrorToDestination:error];
- return NO;
- }
-
- if (![self isValidTensorIndex:index belowLimit:self.inputTensorCount error:error]) {
- return NO;
- }
-
- if (shape.count == 0) {
- [TFLErrorUtil saveInterpreterErrorWithCode:TFLInterpreterErrorCodeInvalidShape
- description:@"Invalid shape. Must not be empty."
- error:error];
- return NO;
- }
-
- int cDimensions[self.inputTensorCount];
- for (int d = 0; d < shape.count; ++d) {
- int dimension = shape[d].intValue;
- if (dimension <= 0) {
- NSString *errorDescription = @"Invalid shape. Dimensions must be positive integers.";
- [TFLErrorUtil saveInterpreterErrorWithCode:TFLInterpreterErrorCodeInvalidShape
- description:errorDescription
- error:error];
- return NO;
- }
- cDimensions[d] = dimension;
- }
-
- if (TFL_InterpreterResizeInputTensor(self.interpreter, (int32_t)index, cDimensions,
- (int32_t)shape.count) != kTfLiteOk) {
- NSString *errorDescription = [NSString
- stringWithFormat:@"Failed to resize input tensor at index (%lu).", (unsigned long)index];
- [TFLErrorUtil saveInterpreterErrorWithCode:TFLInterpreterErrorCodeFailedToResizeInputTensor
- description:errorDescription
- error:error];
- return NO;
- }
-
- return YES;
-}
-
-- (BOOL)copyData:(NSData *)data toInputTensorAtIndex:(NSUInteger)index error:(NSError **)error {
- if (self.initializationError != nil) {
- [self saveInitializationErrorToDestination:error];
- return NO;
- }
-
- if (![self isValidTensorIndex:index belowLimit:self.inputTensorCount error:error]) {
- return NO;
- }
-
- TFL_Tensor *tensor = TFL_InterpreterGetInputTensor(self.interpreter, (int32_t)index);
- if (tensor == nullptr) {
- NSString *errorDescription = [NSString
- stringWithFormat:@"Failed to get input tensor at index (%lu).", (unsigned long)index];
- [TFLErrorUtil saveInterpreterErrorWithCode:TFLInterpreterErrorCodeFailedToCopyDataToInputTensor
- description:errorDescription
- error:error];
- return NO;
- }
-
- NSUInteger byteSize = (NSUInteger)TFL_TensorByteSize(tensor);
- if (data.length != byteSize) {
- NSString *errorDescription = [NSString
- stringWithFormat:@"Input tensor at index (%lu) expects data size (%lu), but got (%lu).",
- (unsigned long)index, byteSize, (unsigned long)data.length];
- [TFLErrorUtil saveInterpreterErrorWithCode:TFLInterpreterErrorCodeInvalidInputByteSize
- description:errorDescription
- error:error];
- return NO;
- }
-
- if (TFL_TensorCopyFromBuffer(tensor, data.bytes, data.length) != kTfLiteOk) {
- NSString *errorDescription =
- [NSString stringWithFormat:@"Failed to copy data into input tensor at index (%lu).",
- (unsigned long)index];
- [TFLErrorUtil saveInterpreterErrorWithCode:TFLInterpreterErrorCodeFailedToCopyDataToInputTensor
- description:errorDescription
- error:error];
- return NO;
- }
-
- return YES;
-}
-
-- (nullable NSData *)dataFromOutputTensorAtIndex:(NSUInteger)index error:(NSError **)error {
- if (self.initializationError != nil) {
- [self saveInitializationErrorToDestination:error];
- return nil;
- }
-
- if (![self isValidTensorIndex:index belowLimit:self.outputTensorCount error:error]) {
- return nil;
- }
-
- const TFL_Tensor *tensor = TFL_InterpreterGetOutputTensor(self.interpreter, (int32_t)index);
- if (tensor == nullptr) {
- NSString *errorDescription = [NSString
- stringWithFormat:@"Failed to get output tensor at index (%lu).", (unsigned long)index];
- [TFLErrorUtil
- saveInterpreterErrorWithCode:TFLInterpreterErrorCodeFailedToGetDataFromOutputTensor
- description:errorDescription
- error:error];
- return nil;
- }
-
- void *bytes = TFL_TensorData(tensor);
- NSUInteger byteSize = (NSUInteger)TFL_TensorByteSize(tensor);
- if (bytes == nullptr || byteSize == 0) {
- NSString *errorDescription = [NSString
- stringWithFormat:@"Failed to get output tensor data at index (%lu).", (unsigned long)index];
- [TFLErrorUtil
- saveInterpreterErrorWithCode:TFLInterpreterErrorCodeFailedToGetDataFromOutputTensor
- description:errorDescription
- error:error];
- return nil;
- }
-
- return [NSData dataWithBytes:bytes length:byteSize];
-}
-
-- (BOOL)allocateTensorsWithError:(NSError **)error {
- if (self.initializationError != nil) {
- [self saveInitializationErrorToDestination:error];
- return NO;
- }
-
- if (TFL_InterpreterAllocateTensors(self.interpreter) != kTfLiteOk) {
- [TFLErrorUtil saveInterpreterErrorWithCode:TFLInterpreterErrorCodeFailedToAllocateTensors
- description:@"Failed to allocate memory for tensors."
- error:error];
- return NO;
- }
- return YES;
-}
-
-#pragma mark - Private
-
-- (nullable TFLTensor *)tensorOfType:(TFLTensorType)type
- atIndex:(NSUInteger)index
- error:(NSError **)error {
- const TFL_Tensor *tensor = nullptr;
- NSString *tensorType;
- switch (type) {
- case TFLTensorTypeInput:
- tensor = TFL_InterpreterGetInputTensor(self.interpreter, (int32_t)index);
- tensorType = kTFLInputDirection;
- break;
- case TFLTensorTypeOutput:
- tensor = TFL_InterpreterGetOutputTensor(self.interpreter, (int32_t)index);
- tensorType = kTFLOutputDirection;
- break;
- }
-
- if (tensor == nullptr) {
- NSString *errorDescription =
- [NSString stringWithFormat:@"Failed to get %@ tensor at index (%lu).", tensorType,
- (unsigned long)index];
- [TFLErrorUtil saveInterpreterErrorWithCode:TFLInterpreterErrorCodeFailedToGetTensor
- description:errorDescription
- error:error];
- return nil;
- }
-
- const char *cName = TFL_TensorName(tensor);
- if (cName == nullptr) {
- NSString *errorDescription =
- [NSString stringWithFormat:@"Failed to get name of %@ tensor at index (%lu).", tensorType,
- (unsigned long)index];
- [TFLErrorUtil saveInterpreterErrorWithCode:TFLInterpreterErrorCodeFailedToGetTensor
- description:errorDescription
- error:error];
- return nil;
- }
- NSString *name = [NSString stringWithUTF8String:cName];
-
- TFLTensorDataType dataType = [self tensorDataTypeFromCTensorType:TFL_TensorType(tensor)];
-
- int32_t rank = TFL_TensorNumDims(tensor);
- if (rank <= 0) {
- NSString *errorDescription =
- [NSString stringWithFormat:@"%@ tensor at index (%lu) has invalid rank (%d).", tensorType,
- (unsigned long)index, rank];
- [TFLErrorUtil saveInterpreterErrorWithCode:TFLInterpreterErrorCodeFailedToGetTensor
- description:errorDescription
- error:error];
- return nil;
- }
- NSMutableArray *shape = [NSMutableArray arrayWithCapacity:rank];
- for (int32_t d = 0; d < rank; d++) {
- int32_t dimension = TFL_TensorDim(tensor, d);
- if (dimension <= 0) {
- NSString *errorDescription =
- [NSString stringWithFormat:@"%@ tensor at index (%lu) has invalid %d-th dimension (%d).",
- tensorType, (unsigned long)index, d, dimension];
- [TFLErrorUtil saveInterpreterErrorWithCode:TFLInterpreterErrorCodeFailedToGetTensor
- description:errorDescription
- error:error];
- return nil;
- }
- shape[d] = @((NSUInteger)dimension);
- }
-
- // TODO: Set quantization parameters when C API supports it.
- return [[TFLTensor alloc] initWithName:name
- dataType:dataType
- shape:shape
- byteSize:(NSUInteger)TFL_TensorByteSize(tensor)
- quantizationParameters:nil];
-}
-
-- (TFLTensorDataType)tensorDataTypeFromCTensorType:(TFL_Type)cTensorType {
- switch (cTensorType) {
- case kTfLiteFloat32:
- return TFLTensorDataTypeFloat32;
- case kTfLiteInt32:
- return TFLTensorDataTypeInt32;
- case kTfLiteUInt8:
- return TFLTensorDataTypeUInt8;
- case kTfLiteInt64:
- return TFLTensorDataTypeInt64;
- case kTfLiteBool:
- return TFLTensorDataTypeBool;
- case kTfLiteInt16:
- return TFLTensorDataTypeInt16;
- case kTfLiteNoType:
- case kTfLiteString:
- case kTfLiteComplex64:
- // kTfLiteString and kTfLiteComplex64 are not supported in TensorFlow Lite Objc API.
- return TFLTensorDataTypeNoType;
- }
-}
-
-- (void)saveInitializationErrorToDestination:(NSError **)destination {
- if (destination != NULL) {
- *destination = self.initializationError;
- }
-}
-
-- (BOOL)isValidTensorIndex:(NSUInteger)index
- belowLimit:(NSUInteger)totalTensorCount
- error:(NSError **)error {
- if (index >= totalTensorCount) {
- NSString *errorDescription =
- [NSString stringWithFormat:@"Invalid tensor index (%lu) exceeds max (%lu).",
- (unsigned long)index, (unsigned long)(totalTensorCount - 1)];
- [TFLErrorUtil saveInterpreterErrorWithCode:TFLInterpreterErrorCodeInvalidTensorIndex
- description:errorDescription
- error:error];
- return NO;
- }
-
- return YES;
-}
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/tensorflow/contrib/lite/experimental/objc/sources/TFLInterpreterOptions.m b/tensorflow/contrib/lite/experimental/objc/sources/TFLInterpreterOptions.m
deleted file mode 100644
index 1776688288..0000000000
--- a/tensorflow/contrib/lite/experimental/objc/sources/TFLInterpreterOptions.m
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright 2018 Google Inc. All rights reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at:
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-#import "third_party/tensorflow/contrib/lite/experimental/objc/apis/TFLInterpreterOptions.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@implementation TFLInterpreterOptions
-
-#pragma mark - Public
-
-- (instancetype)init {
- self = [super init];
- return self;
-}
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/tensorflow/contrib/lite/experimental/objc/sources/TFLQuantizationParameters.m b/tensorflow/contrib/lite/experimental/objc/sources/TFLQuantizationParameters.m
deleted file mode 100644
index 190f0479ce..0000000000
--- a/tensorflow/contrib/lite/experimental/objc/sources/TFLQuantizationParameters.m
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2018 Google Inc. All rights reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at:
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-#import "third_party/tensorflow/contrib/lite/experimental/objc/apis/TFLQuantizationParameters.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@implementation TFLQuantizationParameters
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/tensorflow/contrib/lite/experimental/objc/sources/TFLTensor+Internal.h b/tensorflow/contrib/lite/experimental/objc/sources/TFLTensor+Internal.h
deleted file mode 100644
index f2f13e5e5f..0000000000
--- a/tensorflow/contrib/lite/experimental/objc/sources/TFLTensor+Internal.h
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright 2018 Google Inc. All rights reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at:
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-#import "third_party/tensorflow/contrib/lite/experimental/objc/apis/TFLTensor.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface TFLTensor (Internal)
-
-/**
- * Initializes a `TFLTensor` with the given name, data type, shape, and quantization parameters.
- *
- * @param name Name of the tensor.
- * @param dataType Data type of the tensor.
- * @param shape Shape of the tensor.
- * @param byteSize Size of the tensor data in number of bytes.
- * @param quantizationParameters Quantization parameters of the tensor. `nil` if the tensor does not
- * use quantization.
- *
- * @return A new instance of `TFLTensor` with the given name, data type, shape, and quantization
- * parameters.
- */
-- (instancetype)initWithName:(NSString *)name
- dataType:(TFLTensorDataType)dataType
- shape:(NSArray<NSNumber *> *)shape
- byteSize:(NSUInteger)byteSize
- quantizationParameters:(nullable TFLQuantizationParameters *)quantizationParameters;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/tensorflow/contrib/lite/experimental/objc/sources/TFLTensor.m b/tensorflow/contrib/lite/experimental/objc/sources/TFLTensor.m
deleted file mode 100644
index adb1c5ad2c..0000000000
--- a/tensorflow/contrib/lite/experimental/objc/sources/TFLTensor.m
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright 2018 Google Inc. All rights reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at:
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-#import "third_party/tensorflow/contrib/lite/experimental/objc/apis/TFLTensor.h"
-
-#import "TFLTensor+Internal.h"
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface TFLTensor ()
-
-// Redefines readonly properties.
-@property(nonatomic, copy) NSString *name;
-@property(nonatomic) TFLTensorDataType dataType;
-@property(nonatomic, copy) NSArray<NSNumber *> *shape;
-@property(nonatomic) NSUInteger byteSize;
-@property(nonatomic, nullable) TFLQuantizationParameters *quantizationParameters;
-
-@end
-
-@implementation TFLTensor
-
-#pragma mark - TFLTensor (Internal)
-
-- (instancetype)initWithName:(NSString *)name
- dataType:(TFLTensorDataType)dataType
- shape:(NSArray<NSNumber *> *)shape
- byteSize:(NSUInteger)byteSize
- quantizationParameters:(nullable TFLQuantizationParameters *)quantizationParameters {
- self = [super init];
- if (self != nil) {
- _name = [name copy];
- _dataType = dataType;
- _shape = [shape copy];
- _byteSize = byteSize;
- _quantizationParameters = quantizationParameters;
- }
- return self;
-}
-
-@end
-
-NS_ASSUME_NONNULL_END