Update iOS examples to use CocoaPods, and moved to tensorflow/examples/ios
PiperOrigin-RevId: 158289285
This commit is contained in:
parent
dffea202a5
commit
fdb8e29354
@ -1,431 +0,0 @@
|
|||||||
// !$*UTF8*$!
|
|
||||||
{
|
|
||||||
archiveVersion = 1;
|
|
||||||
classes = {
|
|
||||||
};
|
|
||||||
objectVersion = 46;
|
|
||||||
objects = {
|
|
||||||
|
|
||||||
/* Begin PBXBuildFile section */
|
|
||||||
591D3EC51CFF7F130059011C /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 591D3EC41CFF7F120059011C /* AVFoundation.framework */; };
|
|
||||||
591D3ECB1CFF7F5F0059011C /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 591D3ECA1CFF7F5F0059011C /* CoreMedia.framework */; };
|
|
||||||
591D3ECD1CFF7F9F0059011C /* AssetsLibrary.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 591D3ECC1CFF7F9F0059011C /* AssetsLibrary.framework */; };
|
|
||||||
591D3ECF1CFF7FCE0059011C /* ImageIO.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 591D3ECE1CFF7FCE0059011C /* ImageIO.framework */; };
|
|
||||||
591D3ED21CFF85C30059011C /* ios_image_load.mm in Sources */ = {isa = PBXBuildFile; fileRef = 591D3ED11CFF85C30059011C /* ios_image_load.mm */; };
|
|
||||||
591D3ED51CFF85FD0059011C /* tensorflow_utils.mm in Sources */ = {isa = PBXBuildFile; fileRef = 591D3ED31CFF85FD0059011C /* tensorflow_utils.mm */; };
|
|
||||||
591D3EDB1CFFA83A0059011C /* imagenet_comp_graph_label_strings.txt in Resources */ = {isa = PBXBuildFile; fileRef = 591D3ED81CFFA83A0059011C /* imagenet_comp_graph_label_strings.txt */; };
|
|
||||||
591D3EDC1CFFA83A0059011C /* tensorflow_inception_graph.pb in Resources */ = {isa = PBXBuildFile; fileRef = 591D3ED91CFFA83A0059011C /* tensorflow_inception_graph.pb */; };
|
|
||||||
591D3EDF1CFFAD230059011C /* libprotobuf-lite.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 591D3EDD1CFFAD230059011C /* libprotobuf-lite.a */; };
|
|
||||||
591D3EE01CFFAD230059011C /* libprotobuf.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 591D3EDE1CFFAD230059011C /* libprotobuf.a */; };
|
|
||||||
592FF8B918ECBD7600C164F8 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 592FF8B818ECBD7600C164F8 /* Foundation.framework */; };
|
|
||||||
592FF8BB18ECBD7600C164F8 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 592FF8BA18ECBD7600C164F8 /* CoreGraphics.framework */; };
|
|
||||||
592FF90218ECC66200C164F8 /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = 592FF90118ECC66200C164F8 /* main.mm */; };
|
|
||||||
592FF90D18EDD0DA00C164F8 /* MainStoryboard_iPhone.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 592FF90A18EDD0DA00C164F8 /* MainStoryboard_iPhone.storyboard */; };
|
|
||||||
592FF92518EE240200C164F8 /* CameraExampleAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 592FF92218EE240200C164F8 /* CameraExampleAppDelegate.m */; };
|
|
||||||
592FF92618EE240200C164F8 /* CameraExampleViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 592FF92418EE240200C164F8 /* CameraExampleViewController.mm */; };
|
|
||||||
5993C7721D5D4E980048CE6A /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5993C7711D5D4E980048CE6A /* Accelerate.framework */; };
|
|
||||||
/* End PBXBuildFile section */
|
|
||||||
|
|
||||||
/* Begin PBXFileReference section */
|
|
||||||
591D3EC41CFF7F120059011C /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.2.sdk/System/Library/Frameworks/AVFoundation.framework; sourceTree = DEVELOPER_DIR; };
|
|
||||||
591D3EC61CFF7F370059011C /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.2.sdk/System/Library/Frameworks/CoreFoundation.framework; sourceTree = DEVELOPER_DIR; };
|
|
||||||
591D3EC81CFF7F500059011C /* CoreImage.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreImage.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.2.sdk/System/Library/Frameworks/CoreImage.framework; sourceTree = DEVELOPER_DIR; };
|
|
||||||
591D3ECA1CFF7F5F0059011C /* CoreMedia.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMedia.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.2.sdk/System/Library/Frameworks/CoreMedia.framework; sourceTree = DEVELOPER_DIR; };
|
|
||||||
591D3ECC1CFF7F9F0059011C /* AssetsLibrary.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AssetsLibrary.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.2.sdk/System/Library/Frameworks/AssetsLibrary.framework; sourceTree = DEVELOPER_DIR; };
|
|
||||||
591D3ECE1CFF7FCE0059011C /* ImageIO.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ImageIO.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.2.sdk/System/Library/Frameworks/ImageIO.framework; sourceTree = DEVELOPER_DIR; };
|
|
||||||
591D3ED01CFF85C30059011C /* ios_image_load.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ios_image_load.h; sourceTree = SOURCE_ROOT; };
|
|
||||||
591D3ED11CFF85C30059011C /* ios_image_load.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ios_image_load.mm; sourceTree = SOURCE_ROOT; };
|
|
||||||
591D3ED31CFF85FD0059011C /* tensorflow_utils.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = tensorflow_utils.mm; sourceTree = SOURCE_ROOT; };
|
|
||||||
591D3ED41CFF85FD0059011C /* tensorflow_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tensorflow_utils.h; sourceTree = SOURCE_ROOT; };
|
|
||||||
591D3ED81CFFA83A0059011C /* imagenet_comp_graph_label_strings.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = imagenet_comp_graph_label_strings.txt; sourceTree = "<group>"; };
|
|
||||||
591D3ED91CFFA83A0059011C /* tensorflow_inception_graph.pb */ = {isa = PBXFileReference; lastKnownFileType = file; path = tensorflow_inception_graph.pb; sourceTree = "<group>"; };
|
|
||||||
591D3EDD1CFFAD230059011C /* libprotobuf-lite.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libprotobuf-lite.a"; path = "../../makefile/gen/protobuf_ios/lib/libprotobuf-lite.a"; sourceTree = "<group>"; };
|
|
||||||
591D3EDE1CFFAD230059011C /* libprotobuf.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libprotobuf.a; path = ../../makefile/gen/protobuf_ios/lib/libprotobuf.a; sourceTree = "<group>"; };
|
|
||||||
592FF8B518ECBD7600C164F8 /* CameraExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = CameraExample.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
||||||
592FF8B818ECBD7600C164F8 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
|
|
||||||
592FF8BA18ECBD7600C164F8 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
|
|
||||||
592FF90118ECC66200C164F8 /* main.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = main.mm; sourceTree = SOURCE_ROOT; };
|
|
||||||
592FF90318ECCB8300C164F8 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = SOURCE_ROOT; };
|
|
||||||
592FF90B18EDD0DA00C164F8 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = en; path = MainStoryboard_iPhone.storyboard; sourceTree = "<group>"; };
|
|
||||||
592FF92118EE240200C164F8 /* CameraExampleAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CameraExampleAppDelegate.h; sourceTree = SOURCE_ROOT; };
|
|
||||||
592FF92218EE240200C164F8 /* CameraExampleAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CameraExampleAppDelegate.m; sourceTree = SOURCE_ROOT; };
|
|
||||||
592FF92318EE240200C164F8 /* CameraExampleViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CameraExampleViewController.h; sourceTree = SOURCE_ROOT; };
|
|
||||||
592FF92418EE240200C164F8 /* CameraExampleViewController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = CameraExampleViewController.mm; sourceTree = SOURCE_ROOT; };
|
|
||||||
5993C7711D5D4E980048CE6A /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk/System/Library/Frameworks/Accelerate.framework; sourceTree = DEVELOPER_DIR; };
|
|
||||||
/* End PBXFileReference section */
|
|
||||||
|
|
||||||
/* Begin PBXFrameworksBuildPhase section */
|
|
||||||
592FF8B218ECBD7600C164F8 /* Frameworks */ = {
|
|
||||||
isa = PBXFrameworksBuildPhase;
|
|
||||||
buildActionMask = 2147483647;
|
|
||||||
files = (
|
|
||||||
5993C7721D5D4E980048CE6A /* Accelerate.framework in Frameworks */,
|
|
||||||
591D3EDF1CFFAD230059011C /* libprotobuf-lite.a in Frameworks */,
|
|
||||||
591D3EE01CFFAD230059011C /* libprotobuf.a in Frameworks */,
|
|
||||||
591D3ECF1CFF7FCE0059011C /* ImageIO.framework in Frameworks */,
|
|
||||||
591D3ECD1CFF7F9F0059011C /* AssetsLibrary.framework in Frameworks */,
|
|
||||||
591D3ECB1CFF7F5F0059011C /* CoreMedia.framework in Frameworks */,
|
|
||||||
591D3EC51CFF7F130059011C /* AVFoundation.framework in Frameworks */,
|
|
||||||
592FF8BB18ECBD7600C164F8 /* CoreGraphics.framework in Frameworks */,
|
|
||||||
592FF8B918ECBD7600C164F8 /* Foundation.framework in Frameworks */,
|
|
||||||
);
|
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
|
||||||
};
|
|
||||||
/* End PBXFrameworksBuildPhase section */
|
|
||||||
|
|
||||||
/* Begin PBXGroup section */
|
|
||||||
591D3ED61CFFA83A0059011C /* data */ = {
|
|
||||||
isa = PBXGroup;
|
|
||||||
children = (
|
|
||||||
591D3ED81CFFA83A0059011C /* imagenet_comp_graph_label_strings.txt */,
|
|
||||||
591D3ED91CFFA83A0059011C /* tensorflow_inception_graph.pb */,
|
|
||||||
);
|
|
||||||
path = data;
|
|
||||||
sourceTree = SOURCE_ROOT;
|
|
||||||
};
|
|
||||||
592FF8AA18ECBD3600C164F8 = {
|
|
||||||
isa = PBXGroup;
|
|
||||||
children = (
|
|
||||||
592FF8BE18ECBD7600C164F8 /* CameraExample */,
|
|
||||||
592FF8B718ECBD7600C164F8 /* Frameworks */,
|
|
||||||
592FF8B618ECBD7600C164F8 /* Products */,
|
|
||||||
);
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
592FF8B618ECBD7600C164F8 /* Products */ = {
|
|
||||||
isa = PBXGroup;
|
|
||||||
children = (
|
|
||||||
592FF8B518ECBD7600C164F8 /* CameraExample.app */,
|
|
||||||
);
|
|
||||||
name = Products;
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
592FF8B718ECBD7600C164F8 /* Frameworks */ = {
|
|
||||||
isa = PBXGroup;
|
|
||||||
children = (
|
|
||||||
5993C7711D5D4E980048CE6A /* Accelerate.framework */,
|
|
||||||
591D3EDD1CFFAD230059011C /* libprotobuf-lite.a */,
|
|
||||||
591D3EDE1CFFAD230059011C /* libprotobuf.a */,
|
|
||||||
591D3ECE1CFF7FCE0059011C /* ImageIO.framework */,
|
|
||||||
591D3ECC1CFF7F9F0059011C /* AssetsLibrary.framework */,
|
|
||||||
591D3ECA1CFF7F5F0059011C /* CoreMedia.framework */,
|
|
||||||
591D3EC81CFF7F500059011C /* CoreImage.framework */,
|
|
||||||
591D3EC61CFF7F370059011C /* CoreFoundation.framework */,
|
|
||||||
591D3EC41CFF7F120059011C /* AVFoundation.framework */,
|
|
||||||
592FF8B818ECBD7600C164F8 /* Foundation.framework */,
|
|
||||||
592FF8BA18ECBD7600C164F8 /* CoreGraphics.framework */,
|
|
||||||
);
|
|
||||||
name = Frameworks;
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
592FF8BE18ECBD7600C164F8 /* CameraExample */ = {
|
|
||||||
isa = PBXGroup;
|
|
||||||
children = (
|
|
||||||
591D3ED61CFFA83A0059011C /* data */,
|
|
||||||
592FF90718EDD0DA00C164F8 /* en.lproj */,
|
|
||||||
592FF92118EE240200C164F8 /* CameraExampleAppDelegate.h */,
|
|
||||||
592FF92218EE240200C164F8 /* CameraExampleAppDelegate.m */,
|
|
||||||
592FF92318EE240200C164F8 /* CameraExampleViewController.h */,
|
|
||||||
592FF92418EE240200C164F8 /* CameraExampleViewController.mm */,
|
|
||||||
592FF90318ECCB8300C164F8 /* Info.plist */,
|
|
||||||
591D3ED01CFF85C30059011C /* ios_image_load.h */,
|
|
||||||
591D3ED11CFF85C30059011C /* ios_image_load.mm */,
|
|
||||||
592FF90118ECC66200C164F8 /* main.mm */,
|
|
||||||
591D3ED31CFF85FD0059011C /* tensorflow_utils.mm */,
|
|
||||||
591D3ED41CFF85FD0059011C /* tensorflow_utils.h */,
|
|
||||||
);
|
|
||||||
name = CameraExample;
|
|
||||||
path = SimpleExample;
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
592FF90718EDD0DA00C164F8 /* en.lproj */ = {
|
|
||||||
isa = PBXGroup;
|
|
||||||
children = (
|
|
||||||
592FF90A18EDD0DA00C164F8 /* MainStoryboard_iPhone.storyboard */,
|
|
||||||
);
|
|
||||||
path = en.lproj;
|
|
||||||
sourceTree = SOURCE_ROOT;
|
|
||||||
};
|
|
||||||
/* End PBXGroup section */
|
|
||||||
|
|
||||||
/* Begin PBXNativeTarget section */
|
|
||||||
592FF8B418ECBD7600C164F8 /* CameraExample */ = {
|
|
||||||
isa = PBXNativeTarget;
|
|
||||||
buildConfigurationList = 592FF8E318ECBD7600C164F8 /* Build configuration list for PBXNativeTarget "CameraExample" */;
|
|
||||||
buildPhases = (
|
|
||||||
592FF8B118ECBD7600C164F8 /* Sources */,
|
|
||||||
592FF8B218ECBD7600C164F8 /* Frameworks */,
|
|
||||||
592FF8B318ECBD7600C164F8 /* Resources */,
|
|
||||||
);
|
|
||||||
buildRules = (
|
|
||||||
);
|
|
||||||
dependencies = (
|
|
||||||
);
|
|
||||||
name = CameraExample;
|
|
||||||
productName = SimpleExample;
|
|
||||||
productReference = 592FF8B518ECBD7600C164F8 /* CameraExample.app */;
|
|
||||||
productType = "com.apple.product-type.application";
|
|
||||||
};
|
|
||||||
/* End PBXNativeTarget section */
|
|
||||||
|
|
||||||
/* Begin PBXProject section */
|
|
||||||
592FF8AB18ECBD3600C164F8 /* Project object */ = {
|
|
||||||
isa = PBXProject;
|
|
||||||
attributes = {
|
|
||||||
LastUpgradeCheck = 0720;
|
|
||||||
};
|
|
||||||
buildConfigurationList = 592FF8AE18ECBD3600C164F8 /* Build configuration list for PBXProject "camera_example" */;
|
|
||||||
compatibilityVersion = "Xcode 3.2";
|
|
||||||
developmentRegion = English;
|
|
||||||
hasScannedForEncodings = 0;
|
|
||||||
knownRegions = (
|
|
||||||
en,
|
|
||||||
);
|
|
||||||
mainGroup = 592FF8AA18ECBD3600C164F8;
|
|
||||||
productRefGroup = 592FF8B618ECBD7600C164F8 /* Products */;
|
|
||||||
projectDirPath = "";
|
|
||||||
projectRoot = "";
|
|
||||||
targets = (
|
|
||||||
592FF8B418ECBD7600C164F8 /* CameraExample */,
|
|
||||||
);
|
|
||||||
};
|
|
||||||
/* End PBXProject section */
|
|
||||||
|
|
||||||
/* Begin PBXResourcesBuildPhase section */
|
|
||||||
592FF8B318ECBD7600C164F8 /* Resources */ = {
|
|
||||||
isa = PBXResourcesBuildPhase;
|
|
||||||
buildActionMask = 2147483647;
|
|
||||||
files = (
|
|
||||||
591D3EDC1CFFA83A0059011C /* tensorflow_inception_graph.pb in Resources */,
|
|
||||||
592FF90D18EDD0DA00C164F8 /* MainStoryboard_iPhone.storyboard in Resources */,
|
|
||||||
591D3EDB1CFFA83A0059011C /* imagenet_comp_graph_label_strings.txt in Resources */,
|
|
||||||
);
|
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
|
||||||
};
|
|
||||||
/* End PBXResourcesBuildPhase section */
|
|
||||||
|
|
||||||
/* Begin PBXSourcesBuildPhase section */
|
|
||||||
592FF8B118ECBD7600C164F8 /* Sources */ = {
|
|
||||||
isa = PBXSourcesBuildPhase;
|
|
||||||
buildActionMask = 2147483647;
|
|
||||||
files = (
|
|
||||||
592FF90218ECC66200C164F8 /* main.mm in Sources */,
|
|
||||||
591D3ED21CFF85C30059011C /* ios_image_load.mm in Sources */,
|
|
||||||
592FF92618EE240200C164F8 /* CameraExampleViewController.mm in Sources */,
|
|
||||||
592FF92518EE240200C164F8 /* CameraExampleAppDelegate.m in Sources */,
|
|
||||||
591D3ED51CFF85FD0059011C /* tensorflow_utils.mm in Sources */,
|
|
||||||
);
|
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
|
||||||
};
|
|
||||||
/* End PBXSourcesBuildPhase section */
|
|
||||||
|
|
||||||
/* Begin PBXVariantGroup section */
|
|
||||||
592FF90A18EDD0DA00C164F8 /* MainStoryboard_iPhone.storyboard */ = {
|
|
||||||
isa = PBXVariantGroup;
|
|
||||||
children = (
|
|
||||||
592FF90B18EDD0DA00C164F8 /* en */,
|
|
||||||
);
|
|
||||||
name = MainStoryboard_iPhone.storyboard;
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
/* End PBXVariantGroup section */
|
|
||||||
|
|
||||||
/* Begin XCBuildConfiguration section */
|
|
||||||
592FF8AF18ECBD3600C164F8 /* Debug */ = {
|
|
||||||
isa = XCBuildConfiguration;
|
|
||||||
buildSettings = {
|
|
||||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
|
||||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
|
||||||
CLANG_WARN_EMPTY_BODY = YES;
|
|
||||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
|
||||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
|
||||||
CLANG_WARN_INT_CONVERSION = YES;
|
|
||||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
|
||||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
|
||||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
|
||||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
|
||||||
ENABLE_TESTABILITY = YES;
|
|
||||||
GCC_NO_COMMON_BLOCKS = YES;
|
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
|
||||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
|
||||||
ONLY_ACTIVE_ARCH = YES;
|
|
||||||
};
|
|
||||||
name = Debug;
|
|
||||||
};
|
|
||||||
592FF8B018ECBD3600C164F8 /* Release */ = {
|
|
||||||
isa = XCBuildConfiguration;
|
|
||||||
buildSettings = {
|
|
||||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
|
||||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
|
||||||
CLANG_WARN_EMPTY_BODY = YES;
|
|
||||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
|
||||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
|
||||||
CLANG_WARN_INT_CONVERSION = YES;
|
|
||||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
|
||||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
|
||||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
|
||||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
|
||||||
GCC_NO_COMMON_BLOCKS = YES;
|
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
|
||||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
|
||||||
};
|
|
||||||
name = Release;
|
|
||||||
};
|
|
||||||
592FF8DF18ECBD7600C164F8 /* Debug */ = {
|
|
||||||
isa = XCBuildConfiguration;
|
|
||||||
buildSettings = {
|
|
||||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
|
||||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
|
||||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
|
||||||
CLANG_CXX_LIBRARY = "compiler-default";
|
|
||||||
CLANG_ENABLE_MODULES = YES;
|
|
||||||
CLANG_ENABLE_OBJC_ARC = YES;
|
|
||||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
|
||||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
|
||||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
|
||||||
CLANG_WARN_EMPTY_BODY = YES;
|
|
||||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
|
||||||
CLANG_WARN_INT_CONVERSION = YES;
|
|
||||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
|
||||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
|
||||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
|
||||||
COPY_PHASE_STRIP = NO;
|
|
||||||
ENABLE_BITCODE = NO;
|
|
||||||
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
|
|
||||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
|
||||||
GCC_DYNAMIC_NO_PIC = NO;
|
|
||||||
GCC_OPTIMIZATION_LEVEL = 0;
|
|
||||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
|
||||||
GCC_PREFIX_HEADER = "";
|
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
|
||||||
"DEBUG=1",
|
|
||||||
"$(inherited)",
|
|
||||||
);
|
|
||||||
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
|
||||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
|
||||||
HEADER_SEARCH_PATHS = (
|
|
||||||
"$(SRCROOT)/../../makefile/gen/proto",
|
|
||||||
"$(SRCROOT)/../../makefile/downloads/eigen",
|
|
||||||
"$(SRCROOT)/../../makefile/downloads",
|
|
||||||
"$(SRCROOT)/../../makefile/downloads/protobuf/src/",
|
|
||||||
"$(SRCROOT)/../../../..",
|
|
||||||
);
|
|
||||||
INFOPLIST_FILE = "$(SRCROOT)/Info.plist";
|
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 9.2;
|
|
||||||
LIBRARY_SEARCH_PATHS = (
|
|
||||||
"$(SRCROOT)/../../makefile/gen/lib",
|
|
||||||
"$(SRCROOT)/../../makefile/gen/protobuf_ios/lib",
|
|
||||||
);
|
|
||||||
ONLY_ACTIVE_ARCH = NO;
|
|
||||||
OTHER_LDFLAGS = (
|
|
||||||
"-force_load",
|
|
||||||
"$(SRCROOT)/../../makefile/gen/lib/libtensorflow-core.a",
|
|
||||||
);
|
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.google.CameraExample;
|
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
|
||||||
SDKROOT = iphoneos;
|
|
||||||
TARGETED_DEVICE_FAMILY = "1,2";
|
|
||||||
VALID_ARCHS = "arm64 armv7 armv7s";
|
|
||||||
WRAPPER_EXTENSION = app;
|
|
||||||
};
|
|
||||||
name = Debug;
|
|
||||||
};
|
|
||||||
592FF8E018ECBD7600C164F8 /* Release */ = {
|
|
||||||
isa = XCBuildConfiguration;
|
|
||||||
buildSettings = {
|
|
||||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
|
||||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
|
||||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
|
||||||
CLANG_CXX_LIBRARY = "compiler-default";
|
|
||||||
CLANG_ENABLE_MODULES = YES;
|
|
||||||
CLANG_ENABLE_OBJC_ARC = YES;
|
|
||||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
|
||||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
|
||||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
|
||||||
CLANG_WARN_EMPTY_BODY = YES;
|
|
||||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
|
||||||
CLANG_WARN_INT_CONVERSION = YES;
|
|
||||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
|
||||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
|
||||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
|
||||||
COPY_PHASE_STRIP = YES;
|
|
||||||
ENABLE_BITCODE = NO;
|
|
||||||
ENABLE_NS_ASSERTIONS = NO;
|
|
||||||
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
|
|
||||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
|
||||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
|
||||||
GCC_PREFIX_HEADER = "";
|
|
||||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
|
||||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
|
||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
|
||||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
|
||||||
HEADER_SEARCH_PATHS = (
|
|
||||||
"$(SRCROOT)/../../makefile/gen/proto",
|
|
||||||
"$(SRCROOT)/../../makefile/downloads/eigen",
|
|
||||||
"$(SRCROOT)/../../makefile/downloads",
|
|
||||||
"$(SRCROOT)/../../makefile/downloads/protobuf/src/",
|
|
||||||
"$(SRCROOT)/../../../..",
|
|
||||||
);
|
|
||||||
INFOPLIST_FILE = "$(SRCROOT)/Info.plist";
|
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 9.2;
|
|
||||||
LIBRARY_SEARCH_PATHS = (
|
|
||||||
"$(SRCROOT)/../../makefile/gen/lib",
|
|
||||||
"$(SRCROOT)/../../makefile/gen/protobuf_ios/lib",
|
|
||||||
);
|
|
||||||
ONLY_ACTIVE_ARCH = NO;
|
|
||||||
OTHER_LDFLAGS = (
|
|
||||||
"-force_load",
|
|
||||||
"$(SRCROOT)/../../makefile/gen/lib/libtensorflow-core.a",
|
|
||||||
);
|
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.google.CameraExample;
|
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
|
||||||
SDKROOT = iphoneos;
|
|
||||||
TARGETED_DEVICE_FAMILY = "1,2";
|
|
||||||
VALIDATE_PRODUCT = YES;
|
|
||||||
VALID_ARCHS = "arm64 armv7 armv7s";
|
|
||||||
WRAPPER_EXTENSION = app;
|
|
||||||
};
|
|
||||||
name = Release;
|
|
||||||
};
|
|
||||||
/* End XCBuildConfiguration section */
|
|
||||||
|
|
||||||
/* Begin XCConfigurationList section */
|
|
||||||
592FF8AE18ECBD3600C164F8 /* Build configuration list for PBXProject "camera_example" */ = {
|
|
||||||
isa = XCConfigurationList;
|
|
||||||
buildConfigurations = (
|
|
||||||
592FF8AF18ECBD3600C164F8 /* Debug */,
|
|
||||||
592FF8B018ECBD3600C164F8 /* Release */,
|
|
||||||
);
|
|
||||||
defaultConfigurationIsVisible = 0;
|
|
||||||
defaultConfigurationName = Release;
|
|
||||||
};
|
|
||||||
592FF8E318ECBD7600C164F8 /* Build configuration list for PBXNativeTarget "CameraExample" */ = {
|
|
||||||
isa = XCConfigurationList;
|
|
||||||
buildConfigurations = (
|
|
||||||
592FF8DF18ECBD7600C164F8 /* Debug */,
|
|
||||||
592FF8E018ECBD7600C164F8 /* Release */,
|
|
||||||
);
|
|
||||||
defaultConfigurationIsVisible = 0;
|
|
||||||
defaultConfigurationName = Release;
|
|
||||||
};
|
|
||||||
/* End XCConfigurationList section */
|
|
||||||
};
|
|
||||||
rootObject = 592FF8AB18ECBD3600C164F8 /* Project object */;
|
|
||||||
}
|
|
@ -2,15 +2,15 @@
|
|||||||
|
|
||||||
This folder contains examples of how to build applications for iOS devices using TensorFlow.
|
This folder contains examples of how to build applications for iOS devices using TensorFlow.
|
||||||
|
|
||||||
## Building the Examples
|
## Running the Samples using CocoaPod
|
||||||
|
- You'll need Xcode 7.3 or later.
|
||||||
|
|
||||||
- You'll need Xcode 7.3 or later, with the command-line tools installed.
|
- There are currently three examples: simple, benchmark, and camera. For now,
|
||||||
|
you can download the sample code by cloning the main tensorflow repository
|
||||||
|
(we are planning to make the samples available as a separate repository
|
||||||
|
later).
|
||||||
|
|
||||||
- Follow the instructions at
|
- From the root of the tensorflow folder, download
|
||||||
[tensorflow/contrib/makefile](https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/makefile)
|
|
||||||
under "iOS" to compile a static library containing the core TensorFlow code.
|
|
||||||
|
|
||||||
- From the root of the Tensorflow folder, download
|
|
||||||
[Inception v1](https://storage.googleapis.com/download.tensorflow.org/models/inception5h.zip),
|
[Inception v1](https://storage.googleapis.com/download.tensorflow.org/models/inception5h.zip),
|
||||||
and extract the label and graph files into the data folders inside both the
|
and extract the label and graph files into the data folders inside both the
|
||||||
simple and camera examples:
|
simple and camera examples:
|
||||||
@ -25,8 +25,62 @@ cp ~/graphs/inception5h/* tensorflow/contrib/ios_examples/camera/data/
|
|||||||
cp ~/graphs/inception5h/* tensorflow/contrib/ios_examples/simple/data/
|
cp ~/graphs/inception5h/* tensorflow/contrib/ios_examples/simple/data/
|
||||||
```
|
```
|
||||||
|
|
||||||
- Load the Xcode project inside the `simple` subfolder, and press Command-R to
|
- Change directory to one of the samples, download the TensorFlow-experimental
|
||||||
build and run it on the simulator or your connected device.
|
pod, and open the Xcode workspace. Observe: installing the pod can take a
|
||||||
|
long time since it is big (~450MB). For example, if you want to run the
|
||||||
|
simple example, then:
|
||||||
|
```bash
|
||||||
|
cd tensorflow/contrib/ios_examples/simple
|
||||||
|
pod install
|
||||||
|
open tf_simple_example.xcworkspace # obs, not the .xcodeproj directory
|
||||||
|
```
|
||||||
|
|
||||||
|
- Run the simple app in the simulator. You should see a single-screen app with
|
||||||
|
a "Run Model" button. Tap that, and you should see some debug output appear
|
||||||
|
below indicating that the example Grace Hopper image in directory data has
|
||||||
|
been analyzed, with a military uniform recognized.
|
||||||
|
|
||||||
|
- Run the other samples using the same process. The camera example requires a
|
||||||
|
real device connected. Once you build and run that, you should get a live
|
||||||
|
camera view that you can point at objects to get real-time recognition
|
||||||
|
results.
|
||||||
|
|
||||||
|
### Troubleshooting
|
||||||
|
|
||||||
|
- Make sure you use the TensorFlow-experimental pod (and not TensorFlow).
|
||||||
|
|
||||||
|
- The TensorFlow-experimental pod is current about ~450MB. The reason it is
|
||||||
|
so big is because we are bundling multiple platforms, and the pod includes
|
||||||
|
all TensorFlow functionality (e.g. operations). This is convenient during
|
||||||
|
development, but see below section on how you can build your own custom
|
||||||
|
TensorFlow library to reduce the size.
|
||||||
|
|
||||||
|
### Creating Your own App
|
||||||
|
|
||||||
|
- Create your own app using Xcode then add a file named Podfile at the project
|
||||||
|
root directory with the following content:
|
||||||
|
```bash
|
||||||
|
target 'YourProjectName'
|
||||||
|
pod 'TensorFlow-experimental'
|
||||||
|
```
|
||||||
|
|
||||||
|
- Then you run ```pod install``` to download and install the
|
||||||
|
TensorFlow-experimental pod, and finaly perform
|
||||||
|
```open YourProjectName.xcworkspace``` and add your code.
|
||||||
|
|
||||||
|
- In your apps "Build Settings", make sure to add $(inherited) to sections
|
||||||
|
"Other Linker Flags", and "Header Search Paths".
|
||||||
|
|
||||||
|
- That's it. If you want to create your custom TensorFlow iOS library, for
|
||||||
|
example to reduce binary footprint, see below section.
|
||||||
|
|
||||||
|
## Building the TensorFlow iOS libraries from source
|
||||||
|
|
||||||
|
- You'll need Xcode 7.3 or later, with the command-line tools installed.
|
||||||
|
|
||||||
|
- Follow the instructions at
|
||||||
|
[tensorflow/contrib/makefile](https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/makefile)
|
||||||
|
under "iOS" to compile a static library containing the core TensorFlow code.
|
||||||
|
|
||||||
- You should see a single-screen app with a "Run Model" button. Tap that, and
|
- You should see a single-screen app with a "Run Model" button. Tap that, and
|
||||||
you should see some debug output appear below indicating that the example
|
you should see some debug output appear below indicating that the example
|
||||||
@ -36,8 +90,8 @@ cp ~/graphs/inception5h/* tensorflow/contrib/ios_examples/simple/data/
|
|||||||
open up the Xcode project in the `camera` subfolder. Once you build and run
|
open up the Xcode project in the `camera` subfolder. Once you build and run
|
||||||
that, you should get a live camera view that you can point at objects to get
|
that, you should get a live camera view that you can point at objects to get
|
||||||
real-time recognition results.
|
real-time recognition results.
|
||||||
|
|
||||||
## Troubleshooting
|
### Troubleshooting
|
||||||
|
|
||||||
If you're hitting problems, here's a checklist of common things to investigate:
|
If you're hitting problems, here's a checklist of common things to investigate:
|
||||||
|
|
||||||
@ -52,7 +106,7 @@ If you're hitting problems, here's a checklist of common things to investigate:
|
|||||||
linked in properly. You'll have to make sure your project uses force_load, as
|
linked in properly. You'll have to make sure your project uses force_load, as
|
||||||
described below.
|
described below.
|
||||||
|
|
||||||
## Creating your Own App
|
### Creating your Own App from your source libraries
|
||||||
|
|
||||||
You'll need to update various settings in your app to link against
|
You'll need to update various settings in your app to link against
|
||||||
TensorFlow. You can view them in the example projects, but here's a full
|
TensorFlow. You can view them in the example projects, but here's a full
|
||||||
@ -96,7 +150,7 @@ rundown:
|
|||||||
`-all_load` to avoid issues with Objective-C categories in static libraries,
|
`-all_load` to avoid issues with Objective-C categories in static libraries,
|
||||||
you may be able to replace it with the `-ObjC` flag.
|
you may be able to replace it with the `-ObjC` flag.
|
||||||
|
|
||||||
## Reducing the binary size
|
### Reducing the binary size
|
||||||
|
|
||||||
TensorFlow is a comparatively large library for a mobile device, so it will
|
TensorFlow is a comparatively large library for a mobile device, so it will
|
||||||
increase the size of your app. Currently on iOS we see around a 11 MB binary
|
increase the size of your app. Currently on iOS we see around a 11 MB binary
|
||||||
@ -115,17 +169,17 @@ looking at the simple example to examine its size. Here's how you do that:
|
|||||||
|
|
||||||
- Once the build's complete, open the Report Navigator and select the logs.
|
- Once the build's complete, open the Report Navigator and select the logs.
|
||||||
|
|
||||||
- Near the bottom, you'll see a line saying "Touch tf_ios_makefile_example.app".
|
- Near the bottom, you'll see a line saying "Touch tf_simple_example.app".
|
||||||
|
|
||||||
- Expand that line using the icon on the right, and copy the first argument to
|
- Expand that line using the icon on the right, and copy the first argument to
|
||||||
the Touch command.
|
the Touch command.
|
||||||
|
|
||||||
- Go to the terminal, type `ls -lah ` and then paste the path you copied.
|
- Go to the terminal, type `ls -lah ` and then paste the path you copied.
|
||||||
|
|
||||||
- For example it might look like `ls -lah /Users/petewarden/Library/Developer/Xcode/DerivedData/tf_ios_makefile_example-etdbksqytcnzeyfgdwiihzkqpxwr/Build/Products/Debug-iphoneos/tf_ios_makefile_example.app`
|
- For example it might look like `ls -lah /Users/petewarden/Library/Developer/Xcode/DerivedData/tf_simple_example-etdbksqytcnzeyfgdwiihzkqpxwr/Build/Products/Debug-iphoneos/tf_simple_example.app`
|
||||||
|
|
||||||
- Running this command will show the size of the executable as the
|
- Running this command will show the size of the executable as the
|
||||||
`tf_ios_makefile_example` line.
|
`tf_simple_example` line.
|
||||||
|
|
||||||
Right now you'll see a size of around 23 MB, since it's including two
|
Right now you'll see a size of around 23 MB, since it's including two
|
||||||
architectures (armv7 and arm64). As a first step, you should make sure the size
|
architectures (armv7 and arm64). As a first step, you should make sure the size
|
@ -5,11 +5,11 @@
|
|||||||
<key>CFBundleDevelopmentRegion</key>
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
<string>en</string>
|
<string>en</string>
|
||||||
<key>CFBundleDisplayName</key>
|
<key>CFBundleDisplayName</key>
|
||||||
<string>TF Benchmark</string>
|
<string>tf_benchmark_example</string>
|
||||||
<key>CFBundleExecutable</key>
|
<key>CFBundleExecutable</key>
|
||||||
<string>benchmark</string>
|
<string>tf_benchmark_example</string>
|
||||||
<key>CFBundleIdentifier</key>
|
<key>CFBundleIdentifier</key>
|
||||||
<string>Google.Benchmark</string>
|
<string>com.google.tf_benchmark_example</string>
|
||||||
<key>CFBundleInfoDictionaryVersion</key>
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
<string>6.0</string>
|
<string>6.0</string>
|
||||||
<key>CFBundleName</key>
|
<key>CFBundleName</key>
|
@ -22,17 +22,17 @@
|
|||||||
#include <sstream>
|
#include <sstream>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
#include "google/protobuf/io/coded_stream.h"
|
//#include "google/protobuf/io/coded_stream.h"
|
||||||
#include "google/protobuf/io/zero_copy_stream_impl.h"
|
//#include "google/protobuf/io/zero_copy_stream_impl.h"
|
||||||
#include "google/protobuf/io/zero_copy_stream_impl_lite.h"
|
//#include "google/protobuf/io/zero_copy_stream_impl_lite.h"
|
||||||
#include "google/protobuf/message_lite.h"
|
//#include "google/protobuf/message_lite.h"
|
||||||
#include "tensorflow/core/framework/op_kernel.h"
|
#include "tensorflow/core/framework/op_kernel.h"
|
||||||
#include "tensorflow/core/framework/tensor.h"
|
//#include "tensorflow/core/framework/tensor.h"
|
||||||
#include "tensorflow/core/framework/types.pb.h"
|
//#include "tensorflow/core/framework/types.pb.h"
|
||||||
#include "tensorflow/core/platform/env.h"
|
//#include "tensorflow/core/platform/env.h"
|
||||||
#include "tensorflow/core/platform/logging.h"
|
//#include "tensorflow/core/platform/logging.h"
|
||||||
#include "tensorflow/core/platform/mutex.h"
|
//#include "tensorflow/core/platform/mutex.h"
|
||||||
#include "tensorflow/core/platform/types.h"
|
//#include "tensorflow/core/platform/types.h"
|
||||||
#include "tensorflow/core/public/session.h"
|
#include "tensorflow/core/public/session.h"
|
||||||
#include "tensorflow/core/util/stat_summarizer.h"
|
#include "tensorflow/core/util/stat_summarizer.h"
|
||||||
|
|
||||||
@ -52,7 +52,7 @@ class IfstreamInputStream : public ::google::protobuf::io::CopyingInputStream {
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
ifs_.read(static_cast<char*>(buffer), size);
|
ifs_.read(static_cast<char*>(buffer), size);
|
||||||
return ifs_.gcount();
|
return (int)ifs_.gcount();
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@ -85,7 +85,7 @@ static void GetTopN(
|
|||||||
std::greater<std::pair<float, int>>>
|
std::greater<std::pair<float, int>>>
|
||||||
top_result_pq;
|
top_result_pq;
|
||||||
|
|
||||||
const int count = prediction.size();
|
long count = prediction.size();
|
||||||
for (int i = 0; i < count; ++i) {
|
for (int i = 0; i < count; ++i) {
|
||||||
const float value = prediction(i);
|
const float value = prediction(i);
|
||||||
|
|
||||||
@ -178,7 +178,7 @@ tensorflow::Status BenchmarkInference(
|
|||||||
stat_summarizer->PrintStepStats();
|
stat_summarizer->PrintStepStats();
|
||||||
|
|
||||||
*average_time = total_time / iterations_count;
|
*average_time = total_time / iterations_count;
|
||||||
NSLog(@"Took %f seconds", average_time);
|
NSLog(@"Took %f seconds", *average_time);
|
||||||
|
|
||||||
return tensorflow::Status::OK();
|
return tensorflow::Status::OK();
|
||||||
}
|
}
|
5
tensorflow/examples/ios/benchmark/Podfile
Normal file
5
tensorflow/examples/ios/benchmark/Podfile
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
platform :ios, '8.0'
|
||||||
|
inhibit_all_warnings!
|
||||||
|
|
||||||
|
target 'tf_benchmark_example'
|
||||||
|
pod 'TensorFlow-experimental'
|
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 72 KiB |
@ -7,33 +7,28 @@
|
|||||||
objects = {
|
objects = {
|
||||||
|
|
||||||
/* Begin PBXBuildFile section */
|
/* Begin PBXBuildFile section */
|
||||||
590E7D881D02091F00DF5523 /* libprotobuf-lite.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 590E7D861D02091F00DF5523 /* libprotobuf-lite.a */; };
|
1C8BA8FD1EC682E700CCCC8C /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = 59A3CFFC1CF4E68100C4259F /* main.mm */; };
|
||||||
590E7D8A1D0209DD00DF5523 /* libprotobuf.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 590E7D871D02091F00DF5523 /* libprotobuf.a */; };
|
1C8BA8FE1EC682E700CCCC8C /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 59A3CFF21CF4E68100C4259F /* AppDelegate.mm */; };
|
||||||
5993C7701D5D4E7F0048CE6A /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5993C76F1D5D4E7F0048CE6A /* Accelerate.framework */; };
|
1C8BA8FF1EC682E700CCCC8C /* BenchmarkViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 59A3CFFF1CF4E68100C4259F /* BenchmarkViewController.mm */; };
|
||||||
59A3D0011CF4E68100C4259F /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 59A3CFF21CF4E68100C4259F /* AppDelegate.mm */; };
|
1C8BA9001EC682E700CCCC8C /* ios_image_load.mm in Sources */ = {isa = PBXBuildFile; fileRef = 59A3CFFB1CF4E68100C4259F /* ios_image_load.mm */; };
|
||||||
59A3D0031CF4E68100C4259F /* grace_hopper.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 59A3CFF51CF4E68100C4259F /* grace_hopper.jpg */; };
|
1C8BA9051EC682E700CCCC8C /* BenchmarkViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 59A3D0001CF4E68100C4259F /* BenchmarkViewController.xib */; };
|
||||||
59A3D0051CF4E68100C4259F /* imagenet_comp_graph_label_strings.txt in Resources */ = {isa = PBXBuildFile; fileRef = 59A3CFF71CF4E68100C4259F /* imagenet_comp_graph_label_strings.txt */; };
|
1C8BA9061EC682E700CCCC8C /* imagenet_comp_graph_label_strings.txt in Resources */ = {isa = PBXBuildFile; fileRef = 59A3CFF71CF4E68100C4259F /* imagenet_comp_graph_label_strings.txt */; };
|
||||||
59A3D0071CF4E68100C4259F /* tensorflow_inception_graph.pb in Resources */ = {isa = PBXBuildFile; fileRef = 59A3CFF91CF4E68100C4259F /* tensorflow_inception_graph.pb */; };
|
1C8BA9071EC682E700CCCC8C /* tensorflow_inception_graph.pb in Resources */ = {isa = PBXBuildFile; fileRef = 59A3CFF91CF4E68100C4259F /* tensorflow_inception_graph.pb */; };
|
||||||
59A3D0081CF4E68100C4259F /* ios_image_load.mm in Sources */ = {isa = PBXBuildFile; fileRef = 59A3CFFB1CF4E68100C4259F /* ios_image_load.mm */; };
|
1C8BA9081EC682E700CCCC8C /* grace_hopper.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 59A3CFF51CF4E68100C4259F /* grace_hopper.jpg */; };
|
||||||
59A3D0091CF4E68100C4259F /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = 59A3CFFC1CF4E68100C4259F /* main.mm */; };
|
1CB1883E1ECCC0DC00C93EF7 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1CB1883D1ECCC0DC00C93EF7 /* CoreGraphics.framework */; };
|
||||||
59A3D00B1CF4E68100C4259F /* BenchmarkViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 59A3CFFF1CF4E68100C4259F /* BenchmarkViewController.mm */; };
|
1CB1883F1ECCC10D00C93EF7 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1C7AC7FC1ECCBFE400EAE588 /* UIKit.framework */; };
|
||||||
59A3D00C1CF4E68100C4259F /* BenchmarkViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 59A3D0001CF4E68100C4259F /* BenchmarkViewController.xib */; };
|
1E0EBA4DF4C722C63814B257 /* libPods-tf_benchmark_example.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8C4FE48552EFB73D066C66E9 /* libPods-tf_benchmark_example.a */; };
|
||||||
59A3D0141CF4E82500C4259F /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 59A3D0131CF4E82500C4259F /* CoreGraphics.framework */; };
|
|
||||||
59A3D0181CF4E86100C4259F /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 59A3D0171CF4E86100C4259F /* UIKit.framework */; };
|
|
||||||
/* End PBXBuildFile section */
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
/* Begin PBXFileReference section */
|
/* Begin PBXFileReference section */
|
||||||
590E7D861D02091F00DF5523 /* libprotobuf-lite.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libprotobuf-lite.a"; path = "../../makefile/gen/protobuf_ios/lib/libprotobuf-lite.a"; sourceTree = "<group>"; };
|
1C7AC7FC1ECCBFE400EAE588 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
|
||||||
590E7D871D02091F00DF5523 /* libprotobuf.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libprotobuf.a; path = ../../makefile/gen/protobuf_ios/lib/libprotobuf.a; sourceTree = "<group>"; };
|
1C8BA90C1EC682E700CCCC8C /* tf_benchmark_example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = tf_benchmark_example.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
5911579B1CF4011C00C31E3A /* benchmark.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = benchmark.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
1CB1883B1ECCC09A00C93EF7 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; };
|
||||||
5993C76F1D5D4E7F0048CE6A /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; };
|
1CB1883D1ECCC0DC00C93EF7 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
|
||||||
59A3CFF11CF4E68100C4259F /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
|
59A3CFF11CF4E68100C4259F /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
|
||||||
59A3CFF21CF4E68100C4259F /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AppDelegate.mm; sourceTree = "<group>"; };
|
59A3CFF21CF4E68100C4259F /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AppDelegate.mm; sourceTree = "<group>"; };
|
||||||
59A3CFF41CF4E68100C4259F /* cropped_panda.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = cropped_panda.jpg; sourceTree = "<group>"; };
|
|
||||||
59A3CFF51CF4E68100C4259F /* grace_hopper.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = grace_hopper.jpg; sourceTree = "<group>"; };
|
59A3CFF51CF4E68100C4259F /* grace_hopper.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = grace_hopper.jpg; sourceTree = "<group>"; };
|
||||||
59A3CFF61CF4E68100C4259F /* imagenet_2012_challenge_label_map_proto.pbtxt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = imagenet_2012_challenge_label_map_proto.pbtxt; sourceTree = "<group>"; };
|
|
||||||
59A3CFF71CF4E68100C4259F /* imagenet_comp_graph_label_strings.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = imagenet_comp_graph_label_strings.txt; sourceTree = "<group>"; };
|
59A3CFF71CF4E68100C4259F /* imagenet_comp_graph_label_strings.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = imagenet_comp_graph_label_strings.txt; sourceTree = "<group>"; };
|
||||||
59A3CFF81CF4E68100C4259F /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LICENSE; sourceTree = "<group>"; };
|
|
||||||
59A3CFF91CF4E68100C4259F /* tensorflow_inception_graph.pb */ = {isa = PBXFileReference; lastKnownFileType = file; path = tensorflow_inception_graph.pb; sourceTree = "<group>"; };
|
59A3CFF91CF4E68100C4259F /* tensorflow_inception_graph.pb */ = {isa = PBXFileReference; lastKnownFileType = file; path = tensorflow_inception_graph.pb; sourceTree = "<group>"; };
|
||||||
59A3CFFA1CF4E68100C4259F /* ios_image_load.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ios_image_load.h; sourceTree = "<group>"; };
|
59A3CFFA1CF4E68100C4259F /* ios_image_load.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ios_image_load.h; sourceTree = "<group>"; };
|
||||||
59A3CFFB1CF4E68100C4259F /* ios_image_load.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ios_image_load.mm; sourceTree = "<group>"; };
|
59A3CFFB1CF4E68100C4259F /* ios_image_load.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ios_image_load.mm; sourceTree = "<group>"; };
|
||||||
@ -42,36 +37,37 @@
|
|||||||
59A3CFFE1CF4E68100C4259F /* BenchmarkViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BenchmarkViewController.h; sourceTree = "<group>"; };
|
59A3CFFE1CF4E68100C4259F /* BenchmarkViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BenchmarkViewController.h; sourceTree = "<group>"; };
|
||||||
59A3CFFF1CF4E68100C4259F /* BenchmarkViewController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = BenchmarkViewController.mm; sourceTree = "<group>"; };
|
59A3CFFF1CF4E68100C4259F /* BenchmarkViewController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = BenchmarkViewController.mm; sourceTree = "<group>"; };
|
||||||
59A3D0001CF4E68100C4259F /* BenchmarkViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = BenchmarkViewController.xib; sourceTree = "<group>"; };
|
59A3D0001CF4E68100C4259F /* BenchmarkViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = BenchmarkViewController.xib; sourceTree = "<group>"; };
|
||||||
59A3D0131CF4E82500C4259F /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
|
5FD1623E64FC0154A67E8DD5 /* Pods-tf_benchmark_example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-tf_benchmark_example.debug.xcconfig"; path = "Pods/Target Support Files/Pods-tf_benchmark_example/Pods-tf_benchmark_example.debug.xcconfig"; sourceTree = "<group>"; };
|
||||||
59A3D0151CF4E83D00C4259F /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
|
8C4FE48552EFB73D066C66E9 /* libPods-tf_benchmark_example.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-tf_benchmark_example.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
59A3D0171CF4E86100C4259F /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
|
DB6B3E596779C98202E84711 /* Pods-tf_benchmark_example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-tf_benchmark_example.release.xcconfig"; path = "Pods/Target Support Files/Pods-tf_benchmark_example/Pods-tf_benchmark_example.release.xcconfig"; sourceTree = "<group>"; };
|
||||||
/* End PBXFileReference section */
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
/* Begin PBXFrameworksBuildPhase section */
|
/* Begin PBXFrameworksBuildPhase section */
|
||||||
591157981CF4011C00C31E3A /* Frameworks */ = {
|
1C8BA9011EC682E700CCCC8C /* Frameworks */ = {
|
||||||
isa = PBXFrameworksBuildPhase;
|
isa = PBXFrameworksBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
5993C7701D5D4E7F0048CE6A /* Accelerate.framework in Frameworks */,
|
1CB1883F1ECCC10D00C93EF7 /* UIKit.framework in Frameworks */,
|
||||||
590E7D8A1D0209DD00DF5523 /* libprotobuf.a in Frameworks */,
|
1CB1883E1ECCC0DC00C93EF7 /* CoreGraphics.framework in Frameworks */,
|
||||||
590E7D881D02091F00DF5523 /* libprotobuf-lite.a in Frameworks */,
|
1E0EBA4DF4C722C63814B257 /* libPods-tf_benchmark_example.a in Frameworks */,
|
||||||
59A3D0181CF4E86100C4259F /* UIKit.framework in Frameworks */,
|
|
||||||
59A3D0141CF4E82500C4259F /* CoreGraphics.framework in Frameworks */,
|
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
/* End PBXFrameworksBuildPhase section */
|
/* End PBXFrameworksBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXGroup section */
|
/* Begin PBXGroup section */
|
||||||
|
2BD56010B574F539C2070A57 /* Pods */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
5FD1623E64FC0154A67E8DD5 /* Pods-tf_benchmark_example.debug.xcconfig */,
|
||||||
|
DB6B3E596779C98202E84711 /* Pods-tf_benchmark_example.release.xcconfig */,
|
||||||
|
);
|
||||||
|
name = Pods;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
591157921CF4011C00C31E3A = {
|
591157921CF4011C00C31E3A = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
5993C76F1D5D4E7F0048CE6A /* Accelerate.framework */,
|
|
||||||
590E7D861D02091F00DF5523 /* libprotobuf-lite.a */,
|
|
||||||
590E7D871D02091F00DF5523 /* libprotobuf.a */,
|
|
||||||
59A3D0171CF4E86100C4259F /* UIKit.framework */,
|
|
||||||
59A3D0151CF4E83D00C4259F /* Foundation.framework */,
|
|
||||||
59A3D0131CF4E82500C4259F /* CoreGraphics.framework */,
|
|
||||||
59A3CFF11CF4E68100C4259F /* AppDelegate.h */,
|
59A3CFF11CF4E68100C4259F /* AppDelegate.h */,
|
||||||
59A3CFF21CF4E68100C4259F /* AppDelegate.mm */,
|
59A3CFF21CF4E68100C4259F /* AppDelegate.mm */,
|
||||||
59A3CFF31CF4E68100C4259F /* data */,
|
59A3CFF31CF4E68100C4259F /* data */,
|
||||||
@ -83,13 +79,15 @@
|
|||||||
59A3CFFF1CF4E68100C4259F /* BenchmarkViewController.mm */,
|
59A3CFFF1CF4E68100C4259F /* BenchmarkViewController.mm */,
|
||||||
59A3D0001CF4E68100C4259F /* BenchmarkViewController.xib */,
|
59A3D0001CF4E68100C4259F /* BenchmarkViewController.xib */,
|
||||||
5911579C1CF4011C00C31E3A /* Products */,
|
5911579C1CF4011C00C31E3A /* Products */,
|
||||||
|
2BD56010B574F539C2070A57 /* Pods */,
|
||||||
|
76A25A27041EB307BDFF0DD1 /* Frameworks */,
|
||||||
);
|
);
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
5911579C1CF4011C00C31E3A /* Products */ = {
|
5911579C1CF4011C00C31E3A /* Products */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
5911579B1CF4011C00C31E3A /* benchmark.app */,
|
1C8BA90C1EC682E700CCCC8C /* tf_benchmark_example.app */,
|
||||||
);
|
);
|
||||||
name = Products;
|
name = Products;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@ -97,34 +95,45 @@
|
|||||||
59A3CFF31CF4E68100C4259F /* data */ = {
|
59A3CFF31CF4E68100C4259F /* data */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
59A3CFF41CF4E68100C4259F /* cropped_panda.jpg */,
|
|
||||||
59A3CFF51CF4E68100C4259F /* grace_hopper.jpg */,
|
59A3CFF51CF4E68100C4259F /* grace_hopper.jpg */,
|
||||||
59A3CFF61CF4E68100C4259F /* imagenet_2012_challenge_label_map_proto.pbtxt */,
|
|
||||||
59A3CFF71CF4E68100C4259F /* imagenet_comp_graph_label_strings.txt */,
|
59A3CFF71CF4E68100C4259F /* imagenet_comp_graph_label_strings.txt */,
|
||||||
59A3CFF81CF4E68100C4259F /* LICENSE */,
|
|
||||||
59A3CFF91CF4E68100C4259F /* tensorflow_inception_graph.pb */,
|
59A3CFF91CF4E68100C4259F /* tensorflow_inception_graph.pb */,
|
||||||
);
|
);
|
||||||
path = data;
|
path = data;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
|
76A25A27041EB307BDFF0DD1 /* Frameworks */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
1CB1883D1ECCC0DC00C93EF7 /* CoreGraphics.framework */,
|
||||||
|
1CB1883B1ECCC09A00C93EF7 /* CoreFoundation.framework */,
|
||||||
|
1C7AC7FC1ECCBFE400EAE588 /* UIKit.framework */,
|
||||||
|
8C4FE48552EFB73D066C66E9 /* libPods-tf_benchmark_example.a */,
|
||||||
|
);
|
||||||
|
name = Frameworks;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
/* End PBXGroup section */
|
/* End PBXGroup section */
|
||||||
|
|
||||||
/* Begin PBXNativeTarget section */
|
/* Begin PBXNativeTarget section */
|
||||||
5911579A1CF4011C00C31E3A /* benchmark */ = {
|
1C8BA8FB1EC682E700CCCC8C /* tf_benchmark_example */ = {
|
||||||
isa = PBXNativeTarget;
|
isa = PBXNativeTarget;
|
||||||
buildConfigurationList = 591157B21CF4011D00C31E3A /* Build configuration list for PBXNativeTarget "benchmark" */;
|
buildConfigurationList = 1C8BA9091EC682E700CCCC8C /* Build configuration list for PBXNativeTarget "tf_benchmark_example" */;
|
||||||
buildPhases = (
|
buildPhases = (
|
||||||
591157971CF4011C00C31E3A /* Sources */,
|
0388D751057A257A12848245 /* [CP] Check Pods Manifest.lock */,
|
||||||
591157981CF4011C00C31E3A /* Frameworks */,
|
1C8BA8FC1EC682E700CCCC8C /* Sources */,
|
||||||
591157991CF4011C00C31E3A /* Resources */,
|
1C8BA9011EC682E700CCCC8C /* Frameworks */,
|
||||||
|
1C8BA9041EC682E700CCCC8C /* Resources */,
|
||||||
|
8999A303091D4E86202C2F64 /* [CP] Embed Pods Frameworks */,
|
||||||
|
A7B4B278BCC417B76A47ABB0 /* [CP] Copy Pods Resources */,
|
||||||
);
|
);
|
||||||
buildRules = (
|
buildRules = (
|
||||||
);
|
);
|
||||||
dependencies = (
|
dependencies = (
|
||||||
);
|
);
|
||||||
name = benchmark;
|
name = tf_benchmark_example;
|
||||||
productName = benchmark;
|
productName = benchmark;
|
||||||
productReference = 5911579B1CF4011C00C31E3A /* benchmark.app */;
|
productReference = 1C8BA90C1EC682E700CCCC8C /* tf_benchmark_example.app */;
|
||||||
productType = "com.apple.product-type.application";
|
productType = "com.apple.product-type.application";
|
||||||
};
|
};
|
||||||
/* End PBXNativeTarget section */
|
/* End PBXNativeTarget section */
|
||||||
@ -133,16 +142,10 @@
|
|||||||
591157931CF4011C00C31E3A /* Project object */ = {
|
591157931CF4011C00C31E3A /* Project object */ = {
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
LastUpgradeCheck = 0720;
|
LastUpgradeCheck = 0830;
|
||||||
ORGANIZATIONNAME = Google;
|
ORGANIZATIONNAME = Google;
|
||||||
TargetAttributes = {
|
|
||||||
5911579A1CF4011C00C31E3A = {
|
|
||||||
CreatedOnToolsVersion = 7.2;
|
|
||||||
DevelopmentTeam = 85Z3VXS37U;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
buildConfigurationList = 591157961CF4011C00C31E3A /* Build configuration list for PBXProject "benchmark" */;
|
buildConfigurationList = 591157961CF4011C00C31E3A /* Build configuration list for PBXProject "tf_benchmark_example" */;
|
||||||
compatibilityVersion = "Xcode 3.2";
|
compatibilityVersion = "Xcode 3.2";
|
||||||
developmentRegion = English;
|
developmentRegion = English;
|
||||||
hasScannedForEncodings = 0;
|
hasScannedForEncodings = 0;
|
||||||
@ -155,40 +158,123 @@
|
|||||||
projectDirPath = "";
|
projectDirPath = "";
|
||||||
projectRoot = "";
|
projectRoot = "";
|
||||||
targets = (
|
targets = (
|
||||||
5911579A1CF4011C00C31E3A /* benchmark */,
|
1C8BA8FB1EC682E700CCCC8C /* tf_benchmark_example */,
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
/* End PBXProject section */
|
/* End PBXProject section */
|
||||||
|
|
||||||
/* Begin PBXResourcesBuildPhase section */
|
/* Begin PBXResourcesBuildPhase section */
|
||||||
591157991CF4011C00C31E3A /* Resources */ = {
|
1C8BA9041EC682E700CCCC8C /* Resources */ = {
|
||||||
isa = PBXResourcesBuildPhase;
|
isa = PBXResourcesBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
59A3D00C1CF4E68100C4259F /* BenchmarkViewController.xib in Resources */,
|
1C8BA9051EC682E700CCCC8C /* BenchmarkViewController.xib in Resources */,
|
||||||
59A3D0051CF4E68100C4259F /* imagenet_comp_graph_label_strings.txt in Resources */,
|
1C8BA9061EC682E700CCCC8C /* imagenet_comp_graph_label_strings.txt in Resources */,
|
||||||
59A3D0071CF4E68100C4259F /* tensorflow_inception_graph.pb in Resources */,
|
1C8BA9071EC682E700CCCC8C /* tensorflow_inception_graph.pb in Resources */,
|
||||||
59A3D0031CF4E68100C4259F /* grace_hopper.jpg in Resources */,
|
1C8BA9081EC682E700CCCC8C /* grace_hopper.jpg in Resources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
/* End PBXResourcesBuildPhase section */
|
/* End PBXResourcesBuildPhase section */
|
||||||
|
|
||||||
|
/* Begin PBXShellScriptBuildPhase section */
|
||||||
|
0388D751057A257A12848245 /* [CP] Check Pods Manifest.lock */ = {
|
||||||
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
inputPaths = (
|
||||||
|
);
|
||||||
|
name = "[CP] Check Pods Manifest.lock";
|
||||||
|
outputPaths = (
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
shellPath = /bin/sh;
|
||||||
|
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n";
|
||||||
|
showEnvVarsInLog = 0;
|
||||||
|
};
|
||||||
|
8999A303091D4E86202C2F64 /* [CP] Embed Pods Frameworks */ = {
|
||||||
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
inputPaths = (
|
||||||
|
);
|
||||||
|
name = "[CP] Embed Pods Frameworks";
|
||||||
|
outputPaths = (
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
shellPath = /bin/sh;
|
||||||
|
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-tf_benchmark_example/Pods-tf_benchmark_example-frameworks.sh\"\n";
|
||||||
|
showEnvVarsInLog = 0;
|
||||||
|
};
|
||||||
|
A7B4B278BCC417B76A47ABB0 /* [CP] Copy Pods Resources */ = {
|
||||||
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
inputPaths = (
|
||||||
|
);
|
||||||
|
name = "[CP] Copy Pods Resources";
|
||||||
|
outputPaths = (
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
shellPath = /bin/sh;
|
||||||
|
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-tf_benchmark_example/Pods-tf_benchmark_example-resources.sh\"\n";
|
||||||
|
showEnvVarsInLog = 0;
|
||||||
|
};
|
||||||
|
/* End PBXShellScriptBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXSourcesBuildPhase section */
|
/* Begin PBXSourcesBuildPhase section */
|
||||||
591157971CF4011C00C31E3A /* Sources */ = {
|
1C8BA8FC1EC682E700CCCC8C /* Sources */ = {
|
||||||
isa = PBXSourcesBuildPhase;
|
isa = PBXSourcesBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
59A3D0091CF4E68100C4259F /* main.mm in Sources */,
|
1C8BA8FD1EC682E700CCCC8C /* main.mm in Sources */,
|
||||||
59A3D0011CF4E68100C4259F /* AppDelegate.mm in Sources */,
|
1C8BA8FE1EC682E700CCCC8C /* AppDelegate.mm in Sources */,
|
||||||
59A3D00B1CF4E68100C4259F /* BenchmarkViewController.mm in Sources */,
|
1C8BA8FF1EC682E700CCCC8C /* BenchmarkViewController.mm in Sources */,
|
||||||
59A3D0081CF4E68100C4259F /* ios_image_load.mm in Sources */,
|
1C8BA9001EC682E700CCCC8C /* ios_image_load.mm in Sources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
/* End PBXSourcesBuildPhase section */
|
/* End PBXSourcesBuildPhase section */
|
||||||
|
|
||||||
/* Begin XCBuildConfiguration section */
|
/* Begin XCBuildConfiguration section */
|
||||||
|
1C8BA90A1EC682E700CCCC8C /* Debug */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
baseConfigurationReference = 5FD1623E64FC0154A67E8DD5 /* Pods-tf_benchmark_example.debug.xcconfig */;
|
||||||
|
buildSettings = {
|
||||||
|
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||||
|
ENABLE_BITCODE = NO;
|
||||||
|
HEADER_SEARCH_PATHS = "$(inherited)";
|
||||||
|
INFOPLIST_FILE = "$(SRCROOT)/Benchmark-Info.plist";
|
||||||
|
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||||
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||||
|
LIBRARY_SEARCH_PATHS = "";
|
||||||
|
OTHER_LDFLAGS = "$(inherited)";
|
||||||
|
PRODUCT_BUNDLE_IDENTIFIER = "com.google.tf-benchmark-example";
|
||||||
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
|
};
|
||||||
|
name = Debug;
|
||||||
|
};
|
||||||
|
1C8BA90B1EC682E700CCCC8C /* Release */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
baseConfigurationReference = DB6B3E596779C98202E84711 /* Pods-tf_benchmark_example.release.xcconfig */;
|
||||||
|
buildSettings = {
|
||||||
|
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||||
|
ENABLE_BITCODE = NO;
|
||||||
|
HEADER_SEARCH_PATHS = "$(inherited)";
|
||||||
|
INFOPLIST_FILE = "$(SRCROOT)/Benchmark-Info.plist";
|
||||||
|
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||||
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||||
|
LIBRARY_SEARCH_PATHS = "";
|
||||||
|
ONLY_ACTIVE_ARCH = YES;
|
||||||
|
OTHER_LDFLAGS = "$(inherited)";
|
||||||
|
PRODUCT_BUNDLE_IDENTIFIER = "com.google.tf-benchmark-example";
|
||||||
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
|
};
|
||||||
|
name = Release;
|
||||||
|
};
|
||||||
591157B01CF4011D00C31E3A /* Debug */ = {
|
591157B01CF4011D00C31E3A /* Debug */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
@ -202,8 +288,10 @@
|
|||||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||||
CLANG_WARN_EMPTY_BODY = YES;
|
CLANG_WARN_EMPTY_BODY = YES;
|
||||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||||
|
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||||
CLANG_WARN_INT_CONVERSION = YES;
|
CLANG_WARN_INT_CONVERSION = YES;
|
||||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||||
|
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||||
@ -225,7 +313,7 @@
|
|||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 9.2;
|
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||||
MTL_ENABLE_DEBUG_INFO = YES;
|
MTL_ENABLE_DEBUG_INFO = YES;
|
||||||
ONLY_ACTIVE_ARCH = YES;
|
ONLY_ACTIVE_ARCH = YES;
|
||||||
SDKROOT = iphoneos;
|
SDKROOT = iphoneos;
|
||||||
@ -246,8 +334,10 @@
|
|||||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||||
CLANG_WARN_EMPTY_BODY = YES;
|
CLANG_WARN_EMPTY_BODY = YES;
|
||||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||||
|
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||||
CLANG_WARN_INT_CONVERSION = YES;
|
CLANG_WARN_INT_CONVERSION = YES;
|
||||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||||
|
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||||
@ -263,7 +353,7 @@
|
|||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 9.2;
|
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||||
MTL_ENABLE_DEBUG_INFO = NO;
|
MTL_ENABLE_DEBUG_INFO = NO;
|
||||||
SDKROOT = iphoneos;
|
SDKROOT = iphoneos;
|
||||||
TARGETED_DEVICE_FAMILY = "1,2";
|
TARGETED_DEVICE_FAMILY = "1,2";
|
||||||
@ -271,79 +361,19 @@
|
|||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
};
|
};
|
||||||
591157B31CF4011D00C31E3A /* Debug */ = {
|
|
||||||
isa = XCBuildConfiguration;
|
|
||||||
buildSettings = {
|
|
||||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
|
||||||
ENABLE_BITCODE = NO;
|
|
||||||
HEADER_SEARCH_PATHS = (
|
|
||||||
"$(SRCROOT)/../../../..",
|
|
||||||
"$(SRCROOT)/../../makefile/downloads/protobuf/src/",
|
|
||||||
"$(SRCROOT)/../../makefile/downloads",
|
|
||||||
"$(SRCROOT)/../../makefile/gen/proto",
|
|
||||||
"$(SRCROOT)/../../makefile/downloads/eigen",
|
|
||||||
);
|
|
||||||
INFOPLIST_FILE = "$(SRCROOT)/Benchmark-Info.plist";
|
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 9.2;
|
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
|
||||||
LIBRARY_SEARCH_PATHS = (
|
|
||||||
"$(SRCROOT)/../../makefile/gen/protobuf_ios/lib",
|
|
||||||
"$(SRCROOT)/../../makefile/gen/lib",
|
|
||||||
);
|
|
||||||
OTHER_LDFLAGS = (
|
|
||||||
"-force_load",
|
|
||||||
"$(SRCROOT)/../../makefile/gen/lib/libtensorflow-core.a",
|
|
||||||
"-Xlinker",
|
|
||||||
"-S",
|
|
||||||
"-Xlinker",
|
|
||||||
"-x",
|
|
||||||
"-Xlinker",
|
|
||||||
"-dead_strip",
|
|
||||||
);
|
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = "com.google.TF-Test";
|
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
|
||||||
};
|
|
||||||
name = Debug;
|
|
||||||
};
|
|
||||||
591157B41CF4011D00C31E3A /* Release */ = {
|
|
||||||
isa = XCBuildConfiguration;
|
|
||||||
buildSettings = {
|
|
||||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
|
||||||
ENABLE_BITCODE = NO;
|
|
||||||
HEADER_SEARCH_PATHS = (
|
|
||||||
"$(SRCROOT)/../../../..",
|
|
||||||
"$(SRCROOT)/../../makefile/downloads/protobuf/src/",
|
|
||||||
"$(SRCROOT)/../../makefile/downloads",
|
|
||||||
"$(SRCROOT)/../../makefile/gen/proto",
|
|
||||||
"$(SRCROOT)/../../makefile/downloads/eigen",
|
|
||||||
);
|
|
||||||
INFOPLIST_FILE = "$(SRCROOT)/Benchmark-Info.plist";
|
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 9.2;
|
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
|
||||||
LIBRARY_SEARCH_PATHS = (
|
|
||||||
"$(SRCROOT)/../../makefile/gen/protobuf_ios/lib",
|
|
||||||
"$(SRCROOT)/../../makefile/gen/lib",
|
|
||||||
);
|
|
||||||
ONLY_ACTIVE_ARCH = YES;
|
|
||||||
OTHER_LDFLAGS = (
|
|
||||||
"-force_load",
|
|
||||||
"$(SRCROOT)/../../makefile/gen/lib/libtensorflow-core.a",
|
|
||||||
"-Xlinker",
|
|
||||||
"-S",
|
|
||||||
"-Xlinker",
|
|
||||||
"-x",
|
|
||||||
"-Xlinker",
|
|
||||||
"-dead_strip",
|
|
||||||
);
|
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = "com.google.TF-Test";
|
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
|
||||||
};
|
|
||||||
name = Release;
|
|
||||||
};
|
|
||||||
/* End XCBuildConfiguration section */
|
/* End XCBuildConfiguration section */
|
||||||
|
|
||||||
/* Begin XCConfigurationList section */
|
/* Begin XCConfigurationList section */
|
||||||
591157961CF4011C00C31E3A /* Build configuration list for PBXProject "benchmark" */ = {
|
1C8BA9091EC682E700CCCC8C /* Build configuration list for PBXNativeTarget "tf_benchmark_example" */ = {
|
||||||
|
isa = XCConfigurationList;
|
||||||
|
buildConfigurations = (
|
||||||
|
1C8BA90A1EC682E700CCCC8C /* Debug */,
|
||||||
|
1C8BA90B1EC682E700CCCC8C /* Release */,
|
||||||
|
);
|
||||||
|
defaultConfigurationIsVisible = 0;
|
||||||
|
defaultConfigurationName = Release;
|
||||||
|
};
|
||||||
|
591157961CF4011C00C31E3A /* Build configuration list for PBXProject "tf_benchmark_example" */ = {
|
||||||
isa = XCConfigurationList;
|
isa = XCConfigurationList;
|
||||||
buildConfigurations = (
|
buildConfigurations = (
|
||||||
591157B01CF4011D00C31E3A /* Debug */,
|
591157B01CF4011D00C31E3A /* Debug */,
|
||||||
@ -352,15 +382,6 @@
|
|||||||
defaultConfigurationIsVisible = 0;
|
defaultConfigurationIsVisible = 0;
|
||||||
defaultConfigurationName = Release;
|
defaultConfigurationName = Release;
|
||||||
};
|
};
|
||||||
591157B21CF4011D00C31E3A /* Build configuration list for PBXNativeTarget "benchmark" */ = {
|
|
||||||
isa = XCConfigurationList;
|
|
||||||
buildConfigurations = (
|
|
||||||
591157B31CF4011D00C31E3A /* Debug */,
|
|
||||||
591157B41CF4011D00C31E3A /* Release */,
|
|
||||||
);
|
|
||||||
defaultConfigurationIsVisible = 0;
|
|
||||||
defaultConfigurationName = Release;
|
|
||||||
};
|
|
||||||
/* End XCConfigurationList section */
|
/* End XCConfigurationList section */
|
||||||
};
|
};
|
||||||
rootObject = 591157931CF4011C00C31E3A /* Project object */;
|
rootObject = 591157931CF4011C00C31E3A /* Project object */;
|
@ -29,6 +29,7 @@
|
|||||||
dispatch_queue_t videoDataOutputQueue;
|
dispatch_queue_t videoDataOutputQueue;
|
||||||
AVCaptureStillImageOutput *stillImageOutput;
|
AVCaptureStillImageOutput *stillImageOutput;
|
||||||
UIView *flashView;
|
UIView *flashView;
|
||||||
|
UIImage *square;
|
||||||
BOOL isUsingFrontFacingCamera;
|
BOOL isUsingFrontFacingCamera;
|
||||||
AVSpeechSynthesizer *synth;
|
AVSpeechSynthesizer *synth;
|
||||||
NSMutableDictionary *oldPredictionValues;
|
NSMutableDictionary *oldPredictionValues;
|
@ -323,10 +323,10 @@ didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer
|
|||||||
auto predictions = output->flat<float>();
|
auto predictions = output->flat<float>();
|
||||||
|
|
||||||
NSMutableDictionary *newValues = [NSMutableDictionary dictionary];
|
NSMutableDictionary *newValues = [NSMutableDictionary dictionary];
|
||||||
for (int index = 0; index < predictions.size(); ++index) {
|
for (int index = 0; index < predictions.size(); index += 1) {
|
||||||
const float predictionValue = predictions(index);
|
const float predictionValue = predictions(index);
|
||||||
if (predictionValue > 0.05f) {
|
if (predictionValue > 0.05f) {
|
||||||
std::string label = labels[index];
|
std::string label = labels[index % predictions.size()];
|
||||||
NSString *labelObject = [NSString stringWithUTF8String:label.c_str()];
|
NSString *labelObject = [NSString stringWithUTF8String:label.c_str()];
|
||||||
NSNumber *valueObject = [NSNumber numberWithFloat:predictionValue];
|
NSNumber *valueObject = [NSNumber numberWithFloat:predictionValue];
|
||||||
[newValues setObject:valueObject forKey:labelObject];
|
[newValues setObject:valueObject forKey:labelObject];
|
||||||
@ -369,12 +369,17 @@ didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer
|
|||||||
isUsingFrontFacingCamera = !isUsingFrontFacingCamera;
|
isUsingFrontFacingCamera = !isUsingFrontFacingCamera;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void)didReceiveMemoryWarning {
|
||||||
|
[super didReceiveMemoryWarning];
|
||||||
|
}
|
||||||
|
|
||||||
- (void)viewDidLoad {
|
- (void)viewDidLoad {
|
||||||
[super viewDidLoad];
|
[super viewDidLoad];
|
||||||
|
square = [UIImage imageNamed:@"squarePNG"];
|
||||||
synth = [[AVSpeechSynthesizer alloc] init];
|
synth = [[AVSpeechSynthesizer alloc] init];
|
||||||
labelLayers = [[NSMutableArray alloc] init];
|
labelLayers = [[NSMutableArray alloc] init];
|
||||||
oldPredictionValues = [[NSMutableDictionary alloc] init];
|
oldPredictionValues = [[NSMutableDictionary alloc] init];
|
||||||
|
|
||||||
tensorflow::Status load_status;
|
tensorflow::Status load_status;
|
||||||
if (model_uses_memory_mapping) {
|
if (model_uses_memory_mapping) {
|
||||||
load_status = LoadMemoryMappedModel(
|
load_status = LoadMemoryMappedModel(
|
||||||
@ -394,6 +399,26 @@ didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer
|
|||||||
[self setupAVCapture];
|
[self setupAVCapture];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void)viewDidUnload {
|
||||||
|
[super viewDidUnload];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)viewWillAppear:(BOOL)animated {
|
||||||
|
[super viewWillAppear:animated];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)viewDidAppear:(BOOL)animated {
|
||||||
|
[super viewDidAppear:animated];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)viewWillDisappear:(BOOL)animated {
|
||||||
|
[super viewWillDisappear:animated];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)viewDidDisappear:(BOOL)animated {
|
||||||
|
[super viewDidDisappear:animated];
|
||||||
|
}
|
||||||
|
|
||||||
- (BOOL)shouldAutorotateToInterfaceOrientation:
|
- (BOOL)shouldAutorotateToInterfaceOrientation:
|
||||||
(UIInterfaceOrientation)interfaceOrientation {
|
(UIInterfaceOrientation)interfaceOrientation {
|
||||||
return (interfaceOrientation == UIInterfaceOrientationPortrait);
|
return (interfaceOrientation == UIInterfaceOrientationPortrait);
|
@ -5,7 +5,7 @@
|
|||||||
<key>CFBundleDevelopmentRegion</key>
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
<string>en</string>
|
<string>en</string>
|
||||||
<key>CFBundleDisplayName</key>
|
<key>CFBundleDisplayName</key>
|
||||||
<string>${PRODUCT_NAME}</string>
|
<string>tf_camera_example</string>
|
||||||
<key>CFBundleExecutable</key>
|
<key>CFBundleExecutable</key>
|
||||||
<string>${EXECUTABLE_NAME}</string>
|
<string>${EXECUTABLE_NAME}</string>
|
||||||
<key>CFBundleIdentifier</key>
|
<key>CFBundleIdentifier</key>
|
5
tensorflow/examples/ios/camera/Podfile
Normal file
5
tensorflow/examples/ios/camera/Podfile
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
platform :ios, '8.0'
|
||||||
|
inhibit_all_warnings!
|
||||||
|
|
||||||
|
target 'tf_camera_example'
|
||||||
|
pod 'TensorFlow-experimental'
|
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 72 KiB |
@ -23,18 +23,6 @@
|
|||||||
#include <sstream>
|
#include <sstream>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
#include "google/protobuf/io/coded_stream.h"
|
|
||||||
#include "google/protobuf/io/zero_copy_stream_impl.h"
|
|
||||||
#include "google/protobuf/io/zero_copy_stream_impl_lite.h"
|
|
||||||
#include "google/protobuf/message_lite.h"
|
|
||||||
#include "tensorflow/core/framework/tensor.h"
|
|
||||||
#include "tensorflow/core/framework/types.pb.h"
|
|
||||||
#include "tensorflow/core/platform/env.h"
|
|
||||||
#include "tensorflow/core/platform/logging.h"
|
|
||||||
#include "tensorflow/core/platform/mutex.h"
|
|
||||||
#include "tensorflow/core/platform/types.h"
|
|
||||||
#include "tensorflow/core/public/session.h"
|
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
// Helper class used to load protobufs efficiently.
|
// Helper class used to load protobufs efficiently.
|
||||||
@ -228,4 +216,4 @@ tensorflow::Status LoadLabels(NSString* file_name, NSString* file_type,
|
|||||||
}
|
}
|
||||||
t.close();
|
t.close();
|
||||||
return tensorflow::Status::OK();
|
return tensorflow::Status::OK();
|
||||||
}
|
}
|
@ -0,0 +1,412 @@
|
|||||||
|
// !$*UTF8*$!
|
||||||
|
{
|
||||||
|
archiveVersion = 1;
|
||||||
|
classes = {
|
||||||
|
};
|
||||||
|
objectVersion = 46;
|
||||||
|
objects = {
|
||||||
|
|
||||||
|
/* Begin PBXBuildFile section */
|
||||||
|
1C3C9DCB1ED3AB4200B8B5FA /* ios_image_load.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1C3C9DC91ED3AB4200B8B5FA /* ios_image_load.mm */; };
|
||||||
|
1C3C9DCC1ED3AB4200B8B5FA /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1C3C9DCA1ED3AB4200B8B5FA /* main.mm */; };
|
||||||
|
1C968D171ED3B8F20054F5C3 /* grace_hopper.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 59A3CFF51CF4E68100C4259F /* grace_hopper.jpg */; };
|
||||||
|
1C968D181ED3B8F20054F5C3 /* imagenet_comp_graph_label_strings.txt in Resources */ = {isa = PBXBuildFile; fileRef = 59A3CFF71CF4E68100C4259F /* imagenet_comp_graph_label_strings.txt */; };
|
||||||
|
1C968D191ED3B8F20054F5C3 /* tensorflow_inception_graph.pb in Resources */ = {isa = PBXBuildFile; fileRef = 59A3CFF91CF4E68100C4259F /* tensorflow_inception_graph.pb */; };
|
||||||
|
1C99111C1ED3B0E600A6BFB9 /* MainStoryboard_iPhone.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1C99111B1ED3B0E600A6BFB9 /* MainStoryboard_iPhone.storyboard */; };
|
||||||
|
1CA5EB931ED3ABFB00247A34 /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1CA5EB921ED3ABFB00247A34 /* CoreMedia.framework */; };
|
||||||
|
1CB47D491ED3AD1700DF7666 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1CB47D481ED3AD1700DF7666 /* AVFoundation.framework */; };
|
||||||
|
1CDB2D491ED3A9CD007929E9 /* CameraExampleAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1CDB2D431ED3A9CD007929E9 /* CameraExampleAppDelegate.m */; };
|
||||||
|
1CDB2D4A1ED3A9CD007929E9 /* CameraExampleViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1CDB2D451ED3A9CD007929E9 /* CameraExampleViewController.mm */; };
|
||||||
|
1CDB2D4C1ED3A9CD007929E9 /* tensorflow_utils.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1CDB2D481ED3A9CD007929E9 /* tensorflow_utils.mm */; };
|
||||||
|
1CDB2D4E1ED3AA35007929E9 /* Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 1CDB2D4D1ED3AA35007929E9 /* Info.plist */; };
|
||||||
|
54DC6C3C5F734F3A58069F0C /* libPods-tf_camera_example.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3BA8BF92C84895BFE59D8236 /* libPods-tf_camera_example.a */; };
|
||||||
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
|
/* Begin PBXFileReference section */
|
||||||
|
1C0D73481ECCC41B008C1DAB /* CoreImage.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreImage.framework; path = System/Library/Frameworks/CoreImage.framework; sourceTree = SDKROOT; };
|
||||||
|
1C0D734A1ECCC460008C1DAB /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
|
||||||
|
1C3C9DC81ED3AB4200B8B5FA /* ios_image_load.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ios_image_load.h; sourceTree = "<group>"; };
|
||||||
|
1C3C9DC91ED3AB4200B8B5FA /* ios_image_load.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ios_image_load.mm; sourceTree = "<group>"; };
|
||||||
|
1C3C9DCA1ED3AB4200B8B5FA /* main.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = main.mm; sourceTree = "<group>"; };
|
||||||
|
1C564C0D1ED3A92E00087306 /* tf_camera_example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = tf_camera_example.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
|
1C99111B1ED3B0E600A6BFB9 /* MainStoryboard_iPhone.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = MainStoryboard_iPhone.storyboard; sourceTree = "<group>"; };
|
||||||
|
1CA45FFE1ECCC356002FA6A4 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
|
||||||
|
1CA5EB921ED3ABFB00247A34 /* CoreMedia.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMedia.framework; path = System/Library/Frameworks/CoreMedia.framework; sourceTree = SDKROOT; };
|
||||||
|
1CB47D481ED3AD1700DF7666 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
|
||||||
|
1CDB2D421ED3A9CD007929E9 /* CameraExampleAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CameraExampleAppDelegate.h; sourceTree = "<group>"; };
|
||||||
|
1CDB2D431ED3A9CD007929E9 /* CameraExampleAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CameraExampleAppDelegate.m; sourceTree = "<group>"; };
|
||||||
|
1CDB2D441ED3A9CD007929E9 /* CameraExampleViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CameraExampleViewController.h; sourceTree = "<group>"; };
|
||||||
|
1CDB2D451ED3A9CD007929E9 /* CameraExampleViewController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = CameraExampleViewController.mm; sourceTree = "<group>"; };
|
||||||
|
1CDB2D471ED3A9CD007929E9 /* tensorflow_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tensorflow_utils.h; sourceTree = "<group>"; };
|
||||||
|
1CDB2D481ED3A9CD007929E9 /* tensorflow_utils.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = tensorflow_utils.mm; sourceTree = "<group>"; };
|
||||||
|
1CDB2D4D1ED3AA35007929E9 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||||
|
3BA8BF92C84895BFE59D8236 /* libPods-tf_camera_example.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-tf_camera_example.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
|
3BC5BE4BBD09374D3E98F082 /* Pods-tf_camera_example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-tf_camera_example.debug.xcconfig"; path = "Pods/Target Support Files/Pods-tf_camera_example/Pods-tf_camera_example.debug.xcconfig"; sourceTree = "<group>"; };
|
||||||
|
55ED318E8D29C8AFEF03DF1E /* Pods-tf_camera_example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-tf_camera_example.release.xcconfig"; path = "Pods/Target Support Files/Pods-tf_camera_example/Pods-tf_camera_example.release.xcconfig"; sourceTree = "<group>"; };
|
||||||
|
59A3CFF51CF4E68100C4259F /* grace_hopper.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = grace_hopper.jpg; sourceTree = "<group>"; };
|
||||||
|
59A3CFF71CF4E68100C4259F /* imagenet_comp_graph_label_strings.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = imagenet_comp_graph_label_strings.txt; sourceTree = "<group>"; };
|
||||||
|
59A3CFF91CF4E68100C4259F /* tensorflow_inception_graph.pb */ = {isa = PBXFileReference; lastKnownFileType = file; path = tensorflow_inception_graph.pb; sourceTree = "<group>"; };
|
||||||
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
|
/* Begin PBXFrameworksBuildPhase section */
|
||||||
|
1C564C0A1ED3A92E00087306 /* Frameworks */ = {
|
||||||
|
isa = PBXFrameworksBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
1CB47D491ED3AD1700DF7666 /* AVFoundation.framework in Frameworks */,
|
||||||
|
1CA5EB931ED3ABFB00247A34 /* CoreMedia.framework in Frameworks */,
|
||||||
|
54DC6C3C5F734F3A58069F0C /* libPods-tf_camera_example.a in Frameworks */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
/* End PBXFrameworksBuildPhase section */
|
||||||
|
|
||||||
|
/* Begin PBXGroup section */
|
||||||
|
24D7686C331131624F4454A0 /* Frameworks */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
1CB47D481ED3AD1700DF7666 /* AVFoundation.framework */,
|
||||||
|
1CA5EB921ED3ABFB00247A34 /* CoreMedia.framework */,
|
||||||
|
1C0D734A1ECCC460008C1DAB /* CoreGraphics.framework */,
|
||||||
|
1C0D73481ECCC41B008C1DAB /* CoreImage.framework */,
|
||||||
|
1CA45FFE1ECCC356002FA6A4 /* UIKit.framework */,
|
||||||
|
3BA8BF92C84895BFE59D8236 /* libPods-tf_camera_example.a */,
|
||||||
|
);
|
||||||
|
name = Frameworks;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
3E9FC355632FB928EA23BEED /* Pods */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
3BC5BE4BBD09374D3E98F082 /* Pods-tf_camera_example.debug.xcconfig */,
|
||||||
|
55ED318E8D29C8AFEF03DF1E /* Pods-tf_camera_example.release.xcconfig */,
|
||||||
|
);
|
||||||
|
name = Pods;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
591157921CF4011C00C31E3A = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
1C99111B1ED3B0E600A6BFB9 /* MainStoryboard_iPhone.storyboard */,
|
||||||
|
1C3C9DC81ED3AB4200B8B5FA /* ios_image_load.h */,
|
||||||
|
1C3C9DC91ED3AB4200B8B5FA /* ios_image_load.mm */,
|
||||||
|
1C3C9DCA1ED3AB4200B8B5FA /* main.mm */,
|
||||||
|
1CDB2D4D1ED3AA35007929E9 /* Info.plist */,
|
||||||
|
1CDB2D421ED3A9CD007929E9 /* CameraExampleAppDelegate.h */,
|
||||||
|
1CDB2D431ED3A9CD007929E9 /* CameraExampleAppDelegate.m */,
|
||||||
|
1CDB2D441ED3A9CD007929E9 /* CameraExampleViewController.h */,
|
||||||
|
1CDB2D451ED3A9CD007929E9 /* CameraExampleViewController.mm */,
|
||||||
|
1CDB2D471ED3A9CD007929E9 /* tensorflow_utils.h */,
|
||||||
|
1CDB2D481ED3A9CD007929E9 /* tensorflow_utils.mm */,
|
||||||
|
59A3CFF31CF4E68100C4259F /* data */,
|
||||||
|
5911579C1CF4011C00C31E3A /* Products */,
|
||||||
|
3E9FC355632FB928EA23BEED /* Pods */,
|
||||||
|
24D7686C331131624F4454A0 /* Frameworks */,
|
||||||
|
);
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
5911579C1CF4011C00C31E3A /* Products */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
1C564C0D1ED3A92E00087306 /* tf_camera_example.app */,
|
||||||
|
);
|
||||||
|
name = Products;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
59A3CFF31CF4E68100C4259F /* data */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
59A3CFF51CF4E68100C4259F /* grace_hopper.jpg */,
|
||||||
|
59A3CFF71CF4E68100C4259F /* imagenet_comp_graph_label_strings.txt */,
|
||||||
|
59A3CFF91CF4E68100C4259F /* tensorflow_inception_graph.pb */,
|
||||||
|
);
|
||||||
|
path = data;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
/* End PBXGroup section */
|
||||||
|
|
||||||
|
/* Begin PBXNativeTarget section */
|
||||||
|
1C564C0C1ED3A92E00087306 /* tf_camera_example */ = {
|
||||||
|
isa = PBXNativeTarget;
|
||||||
|
buildConfigurationList = 1C564C351ED3A92E00087306 /* Build configuration list for PBXNativeTarget "tf_camera_example" */;
|
||||||
|
buildPhases = (
|
||||||
|
66DAEAAEE9EF6550C3A061E0 /* [CP] Check Pods Manifest.lock */,
|
||||||
|
1C564C091ED3A92E00087306 /* Sources */,
|
||||||
|
1C564C0A1ED3A92E00087306 /* Frameworks */,
|
||||||
|
1C564C0B1ED3A92E00087306 /* Resources */,
|
||||||
|
00E875C3B066535AE6B77101 /* [CP] Embed Pods Frameworks */,
|
||||||
|
5C2D02120E3E5E09567AA946 /* [CP] Copy Pods Resources */,
|
||||||
|
);
|
||||||
|
buildRules = (
|
||||||
|
);
|
||||||
|
dependencies = (
|
||||||
|
);
|
||||||
|
name = tf_camera_example;
|
||||||
|
productName = tf_camera_example;
|
||||||
|
productReference = 1C564C0D1ED3A92E00087306 /* tf_camera_example.app */;
|
||||||
|
productType = "com.apple.product-type.application";
|
||||||
|
};
|
||||||
|
/* End PBXNativeTarget section */
|
||||||
|
|
||||||
|
/* Begin PBXProject section */
|
||||||
|
591157931CF4011C00C31E3A /* Project object */ = {
|
||||||
|
isa = PBXProject;
|
||||||
|
attributes = {
|
||||||
|
LastSwiftUpdateCheck = 0830;
|
||||||
|
LastUpgradeCheck = 0830;
|
||||||
|
ORGANIZATIONNAME = Google;
|
||||||
|
TargetAttributes = {
|
||||||
|
1C564C0C1ED3A92E00087306 = {
|
||||||
|
CreatedOnToolsVersion = 8.3.2;
|
||||||
|
DevelopmentTeam = 5DRPWFQSHP;
|
||||||
|
ProvisioningStyle = Automatic;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
buildConfigurationList = 591157961CF4011C00C31E3A /* Build configuration list for PBXProject "tf_camera_example" */;
|
||||||
|
compatibilityVersion = "Xcode 3.2";
|
||||||
|
developmentRegion = English;
|
||||||
|
hasScannedForEncodings = 0;
|
||||||
|
knownRegions = (
|
||||||
|
en,
|
||||||
|
Base,
|
||||||
|
);
|
||||||
|
mainGroup = 591157921CF4011C00C31E3A;
|
||||||
|
productRefGroup = 5911579C1CF4011C00C31E3A /* Products */;
|
||||||
|
projectDirPath = "";
|
||||||
|
projectRoot = "";
|
||||||
|
targets = (
|
||||||
|
1C564C0C1ED3A92E00087306 /* tf_camera_example */,
|
||||||
|
);
|
||||||
|
};
|
||||||
|
/* End PBXProject section */
|
||||||
|
|
||||||
|
/* Begin PBXResourcesBuildPhase section */
|
||||||
|
1C564C0B1ED3A92E00087306 /* Resources */ = {
|
||||||
|
isa = PBXResourcesBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
1C968D171ED3B8F20054F5C3 /* grace_hopper.jpg in Resources */,
|
||||||
|
1C968D181ED3B8F20054F5C3 /* imagenet_comp_graph_label_strings.txt in Resources */,
|
||||||
|
1C968D191ED3B8F20054F5C3 /* tensorflow_inception_graph.pb in Resources */,
|
||||||
|
1C99111C1ED3B0E600A6BFB9 /* MainStoryboard_iPhone.storyboard in Resources */,
|
||||||
|
1CDB2D4E1ED3AA35007929E9 /* Info.plist in Resources */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
/* End PBXResourcesBuildPhase section */
|
||||||
|
|
||||||
|
/* Begin PBXShellScriptBuildPhase section */
|
||||||
|
00E875C3B066535AE6B77101 /* [CP] Embed Pods Frameworks */ = {
|
||||||
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
inputPaths = (
|
||||||
|
);
|
||||||
|
name = "[CP] Embed Pods Frameworks";
|
||||||
|
outputPaths = (
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
shellPath = /bin/sh;
|
||||||
|
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-tf_camera_example/Pods-tf_camera_example-frameworks.sh\"\n";
|
||||||
|
showEnvVarsInLog = 0;
|
||||||
|
};
|
||||||
|
5C2D02120E3E5E09567AA946 /* [CP] Copy Pods Resources */ = {
|
||||||
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
inputPaths = (
|
||||||
|
);
|
||||||
|
name = "[CP] Copy Pods Resources";
|
||||||
|
outputPaths = (
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
shellPath = /bin/sh;
|
||||||
|
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-tf_camera_example/Pods-tf_camera_example-resources.sh\"\n";
|
||||||
|
showEnvVarsInLog = 0;
|
||||||
|
};
|
||||||
|
66DAEAAEE9EF6550C3A061E0 /* [CP] Check Pods Manifest.lock */ = {
|
||||||
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
inputPaths = (
|
||||||
|
);
|
||||||
|
name = "[CP] Check Pods Manifest.lock";
|
||||||
|
outputPaths = (
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
shellPath = /bin/sh;
|
||||||
|
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n";
|
||||||
|
showEnvVarsInLog = 0;
|
||||||
|
};
|
||||||
|
/* End PBXShellScriptBuildPhase section */
|
||||||
|
|
||||||
|
/* Begin PBXSourcesBuildPhase section */
|
||||||
|
1C564C091ED3A92E00087306 /* Sources */ = {
|
||||||
|
isa = PBXSourcesBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
1CDB2D4C1ED3A9CD007929E9 /* tensorflow_utils.mm in Sources */,
|
||||||
|
1C3C9DCB1ED3AB4200B8B5FA /* ios_image_load.mm in Sources */,
|
||||||
|
1CDB2D4A1ED3A9CD007929E9 /* CameraExampleViewController.mm in Sources */,
|
||||||
|
1CDB2D491ED3A9CD007929E9 /* CameraExampleAppDelegate.m in Sources */,
|
||||||
|
1C3C9DCC1ED3AB4200B8B5FA /* main.mm in Sources */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
/* End PBXSourcesBuildPhase section */
|
||||||
|
|
||||||
|
/* Begin XCBuildConfiguration section */
|
||||||
|
1C564C361ED3A92E00087306 /* Debug */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
baseConfigurationReference = 3BC5BE4BBD09374D3E98F082 /* Pods-tf_camera_example.debug.xcconfig */;
|
||||||
|
buildSettings = {
|
||||||
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
|
CLANG_ANALYZER_NONNULL = YES;
|
||||||
|
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||||
|
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||||
|
DEVELOPMENT_TEAM = 5DRPWFQSHP;
|
||||||
|
INFOPLIST_FILE = Info.plist;
|
||||||
|
IPHONEOS_DEPLOYMENT_TARGET = 10.3;
|
||||||
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||||
|
PRODUCT_BUNDLE_IDENTIFIER = "com.pf.tf-camera-example";
|
||||||
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
|
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
|
||||||
|
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||||
|
SWIFT_VERSION = 3.0;
|
||||||
|
};
|
||||||
|
name = Debug;
|
||||||
|
};
|
||||||
|
1C564C371ED3A92E00087306 /* Release */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
baseConfigurationReference = 55ED318E8D29C8AFEF03DF1E /* Pods-tf_camera_example.release.xcconfig */;
|
||||||
|
buildSettings = {
|
||||||
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
|
CLANG_ANALYZER_NONNULL = YES;
|
||||||
|
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||||
|
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||||
|
DEVELOPMENT_TEAM = 5DRPWFQSHP;
|
||||||
|
INFOPLIST_FILE = Info.plist;
|
||||||
|
IPHONEOS_DEPLOYMENT_TARGET = 10.3;
|
||||||
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||||
|
PRODUCT_BUNDLE_IDENTIFIER = "com.pf.tf-camera-example";
|
||||||
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
|
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
|
||||||
|
SWIFT_VERSION = 3.0;
|
||||||
|
};
|
||||||
|
name = Release;
|
||||||
|
};
|
||||||
|
591157B01CF4011D00C31E3A /* Debug */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||||
|
CLANG_CXX_LIBRARY = "libc++";
|
||||||
|
CLANG_ENABLE_MODULES = YES;
|
||||||
|
CLANG_ENABLE_OBJC_ARC = YES;
|
||||||
|
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||||
|
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||||
|
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||||
|
CLANG_WARN_EMPTY_BODY = YES;
|
||||||
|
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||||
|
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||||
|
CLANG_WARN_INT_CONVERSION = YES;
|
||||||
|
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||||
|
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||||
|
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||||
|
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||||
|
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||||
|
COPY_PHASE_STRIP = NO;
|
||||||
|
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||||
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||||
|
ENABLE_TESTABILITY = YES;
|
||||||
|
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||||
|
GCC_DYNAMIC_NO_PIC = NO;
|
||||||
|
GCC_NO_COMMON_BLOCKS = YES;
|
||||||
|
GCC_OPTIMIZATION_LEVEL = 0;
|
||||||
|
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||||
|
"DEBUG=1",
|
||||||
|
"$(inherited)",
|
||||||
|
);
|
||||||
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||||
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
|
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||||
|
MTL_ENABLE_DEBUG_INFO = YES;
|
||||||
|
ONLY_ACTIVE_ARCH = YES;
|
||||||
|
SDKROOT = iphoneos;
|
||||||
|
TARGETED_DEVICE_FAMILY = "1,2";
|
||||||
|
};
|
||||||
|
name = Debug;
|
||||||
|
};
|
||||||
|
591157B11CF4011D00C31E3A /* Release */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||||
|
CLANG_CXX_LIBRARY = "libc++";
|
||||||
|
CLANG_ENABLE_MODULES = YES;
|
||||||
|
CLANG_ENABLE_OBJC_ARC = YES;
|
||||||
|
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||||
|
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||||
|
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||||
|
CLANG_WARN_EMPTY_BODY = YES;
|
||||||
|
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||||
|
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||||
|
CLANG_WARN_INT_CONVERSION = YES;
|
||||||
|
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||||
|
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||||
|
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||||
|
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||||
|
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||||
|
COPY_PHASE_STRIP = NO;
|
||||||
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||||
|
ENABLE_NS_ASSERTIONS = NO;
|
||||||
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||||
|
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||||
|
GCC_NO_COMMON_BLOCKS = YES;
|
||||||
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||||
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||||
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||||
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||||
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
|
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||||
|
MTL_ENABLE_DEBUG_INFO = NO;
|
||||||
|
SDKROOT = iphoneos;
|
||||||
|
TARGETED_DEVICE_FAMILY = "1,2";
|
||||||
|
VALIDATE_PRODUCT = YES;
|
||||||
|
};
|
||||||
|
name = Release;
|
||||||
|
};
|
||||||
|
/* End XCBuildConfiguration section */
|
||||||
|
|
||||||
|
/* Begin XCConfigurationList section */
|
||||||
|
1C564C351ED3A92E00087306 /* Build configuration list for PBXNativeTarget "tf_camera_example" */ = {
|
||||||
|
isa = XCConfigurationList;
|
||||||
|
buildConfigurations = (
|
||||||
|
1C564C361ED3A92E00087306 /* Debug */,
|
||||||
|
1C564C371ED3A92E00087306 /* Release */,
|
||||||
|
);
|
||||||
|
defaultConfigurationIsVisible = 0;
|
||||||
|
defaultConfigurationName = Release;
|
||||||
|
};
|
||||||
|
591157961CF4011C00C31E3A /* Build configuration list for PBXProject "tf_camera_example" */ = {
|
||||||
|
isa = XCConfigurationList;
|
||||||
|
buildConfigurations = (
|
||||||
|
591157B01CF4011D00C31E3A /* Debug */,
|
||||||
|
591157B11CF4011D00C31E3A /* Release */,
|
||||||
|
);
|
||||||
|
defaultConfigurationIsVisible = 0;
|
||||||
|
defaultConfigurationName = Release;
|
||||||
|
};
|
||||||
|
/* End XCConfigurationList section */
|
||||||
|
};
|
||||||
|
rootObject = 591157931CF4011C00C31E3A /* Project object */;
|
||||||
|
}
|
5
tensorflow/examples/ios/simple/Podfile
Normal file
5
tensorflow/examples/ios/simple/Podfile
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
platform :ios, '8.0'
|
||||||
|
inhibit_all_warnings!
|
||||||
|
|
||||||
|
target 'tf_simple_example'
|
||||||
|
pod 'TensorFlow-experimental'
|
@ -5,11 +5,11 @@
|
|||||||
<key>CFBundleDevelopmentRegion</key>
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
<string>en</string>
|
<string>en</string>
|
||||||
<key>CFBundleDisplayName</key>
|
<key>CFBundleDisplayName</key>
|
||||||
<string>tf_ios_makefile_example</string>
|
<string>tf_simple_example</string>
|
||||||
<key>CFBundleExecutable</key>
|
<key>CFBundleExecutable</key>
|
||||||
<string>tf_ios_makefile_example</string>
|
<string>tf_simple_example</string>
|
||||||
<key>CFBundleIdentifier</key>
|
<key>CFBundleIdentifier</key>
|
||||||
<string>Google.RunModel</string>
|
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||||
<key>CFBundleInfoDictionaryVersion</key>
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
<string>6.0</string>
|
<string>6.0</string>
|
||||||
<key>CFBundleName</key>
|
<key>CFBundleName</key>
|
@ -21,17 +21,7 @@
|
|||||||
#include <sstream>
|
#include <sstream>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
#include "google/protobuf/io/coded_stream.h"
|
|
||||||
#include "google/protobuf/io/zero_copy_stream_impl.h"
|
|
||||||
#include "google/protobuf/io/zero_copy_stream_impl_lite.h"
|
|
||||||
#include "google/protobuf/message_lite.h"
|
|
||||||
#include "tensorflow/core/framework/op_kernel.h"
|
#include "tensorflow/core/framework/op_kernel.h"
|
||||||
#include "tensorflow/core/framework/tensor.h"
|
|
||||||
#include "tensorflow/core/framework/types.pb.h"
|
|
||||||
#include "tensorflow/core/platform/env.h"
|
|
||||||
#include "tensorflow/core/platform/logging.h"
|
|
||||||
#include "tensorflow/core/platform/mutex.h"
|
|
||||||
#include "tensorflow/core/platform/types.h"
|
|
||||||
#include "tensorflow/core/public/session.h"
|
#include "tensorflow/core/public/session.h"
|
||||||
|
|
||||||
#include "ios_image_load.h"
|
#include "ios_image_load.h"
|
||||||
@ -50,7 +40,7 @@ class IfstreamInputStream : public ::google::protobuf::io::CopyingInputStream {
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
ifs_.read(static_cast<char*>(buffer), size);
|
ifs_.read(static_cast<char*>(buffer), size);
|
||||||
return ifs_.gcount();
|
return (int)ifs_.gcount();
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@ -83,7 +73,7 @@ static void GetTopN(
|
|||||||
std::vector<std::pair<float, int> >,
|
std::vector<std::pair<float, int> >,
|
||||||
std::greater<std::pair<float, int> > > top_result_pq;
|
std::greater<std::pair<float, int> > > top_result_pq;
|
||||||
|
|
||||||
const int count = prediction.size();
|
const long count = prediction.size();
|
||||||
for (int i = 0; i < count; ++i) {
|
for (int i = 0; i < count; ++i) {
|
||||||
const float value = prediction(i);
|
const float value = prediction(i);
|
||||||
|
|
||||||
@ -121,7 +111,7 @@ bool PortableReadFileToProto(const std::string& file_name,
|
|||||||
// eventually remove this and quit loud when a large protobuf is passed in.
|
// eventually remove this and quit loud when a large protobuf is passed in.
|
||||||
::google::protobuf::io::CodedInputStream coded_stream(&stream);
|
::google::protobuf::io::CodedInputStream coded_stream(&stream);
|
||||||
// Total bytes hard limit / warning limit are set to 1GB and 512MB
|
// Total bytes hard limit / warning limit are set to 1GB and 512MB
|
||||||
// respectively.
|
// respectively.
|
||||||
coded_stream.SetTotalBytesLimit(1024LL << 20, 512LL << 20);
|
coded_stream.SetTotalBytesLimit(1024LL << 20, 512LL << 20);
|
||||||
return proto->ParseFromCodedStream(&coded_stream);
|
return proto->ParseFromCodedStream(&coded_stream);
|
||||||
}
|
}
|
||||||
@ -192,7 +182,7 @@ NSString* RunInferenceOnImage() {
|
|||||||
1, wanted_height, wanted_width, wanted_channels}));
|
1, wanted_height, wanted_width, wanted_channels}));
|
||||||
auto image_tensor_mapped = image_tensor.tensor<float, 4>();
|
auto image_tensor_mapped = image_tensor.tensor<float, 4>();
|
||||||
tensorflow::uint8* in = image_data.data();
|
tensorflow::uint8* in = image_data.data();
|
||||||
tensorflow::uint8* in_end = (in + (image_height * image_width * image_channels));
|
// tensorflow::uint8* in_end = (in + (image_height * image_width * image_channels));
|
||||||
float* out = image_tensor_mapped.data();
|
float* out = image_tensor_mapped.data();
|
||||||
for (int y = 0; y < wanted_height; ++y) {
|
for (int y = 0; y < wanted_height; ++y) {
|
||||||
const int in_y = (y * image_height) / wanted_height;
|
const int in_y = (y * image_height) / wanted_height;
|
||||||
@ -209,7 +199,7 @@ NSString* RunInferenceOnImage() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
NSString* result = [network_path stringByAppendingString: @" - loaded!"];
|
NSString* result = [network_path stringByAppendingString: @" - loaded!"];
|
||||||
result = [NSString stringWithFormat: @"%@ - %d, %s - %dx%d", result,
|
result = [NSString stringWithFormat: @"%@ - %lu, %s - %dx%d", result,
|
||||||
label_strings.size(), label_strings[0].c_str(), image_width, image_height];
|
label_strings.size(), label_strings[0].c_str(), image_width, image_height];
|
||||||
|
|
||||||
std::string input_layer = "input";
|
std::string input_layer = "input";
|
BIN
tensorflow/examples/ios/simple/data/grace_hopper.jpg
Normal file
BIN
tensorflow/examples/ios/simple/data/grace_hopper.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 72 KiB |
@ -7,9 +7,9 @@
|
|||||||
objects = {
|
objects = {
|
||||||
|
|
||||||
/* Begin PBXBuildFile section */
|
/* Begin PBXBuildFile section */
|
||||||
590E7D881D02091F00DF5523 /* libprotobuf-lite.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 590E7D861D02091F00DF5523 /* libprotobuf-lite.a */; };
|
1C0D734B1ECCC460008C1DAB /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1C0D734A1ECCC460008C1DAB /* CoreGraphics.framework */; };
|
||||||
590E7D8A1D0209DD00DF5523 /* libprotobuf.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 590E7D871D02091F00DF5523 /* libprotobuf.a */; };
|
1CA45FFF1ECCC356002FA6A4 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1CA45FFE1ECCC356002FA6A4 /* UIKit.framework */; };
|
||||||
5993C7741D5D4EAF0048CE6A /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5993C7731D5D4EAF0048CE6A /* Accelerate.framework */; };
|
2530463E3C9A9D5FB9299C0E /* libPods-tf_simple_example.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 73DBC33C5DD9A526EE6D1EF2 /* libPods-tf_simple_example.a */; };
|
||||||
59A3D0011CF4E68100C4259F /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 59A3CFF21CF4E68100C4259F /* AppDelegate.mm */; };
|
59A3D0011CF4E68100C4259F /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 59A3CFF21CF4E68100C4259F /* AppDelegate.mm */; };
|
||||||
59A3D0031CF4E68100C4259F /* grace_hopper.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 59A3CFF51CF4E68100C4259F /* grace_hopper.jpg */; };
|
59A3D0031CF4E68100C4259F /* grace_hopper.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 59A3CFF51CF4E68100C4259F /* grace_hopper.jpg */; };
|
||||||
59A3D0051CF4E68100C4259F /* imagenet_comp_graph_label_strings.txt in Resources */ = {isa = PBXBuildFile; fileRef = 59A3CFF71CF4E68100C4259F /* imagenet_comp_graph_label_strings.txt */; };
|
59A3D0051CF4E68100C4259F /* imagenet_comp_graph_label_strings.txt in Resources */ = {isa = PBXBuildFile; fileRef = 59A3CFF71CF4E68100C4259F /* imagenet_comp_graph_label_strings.txt */; };
|
||||||
@ -18,22 +18,17 @@
|
|||||||
59A3D0091CF4E68100C4259F /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = 59A3CFFC1CF4E68100C4259F /* main.mm */; };
|
59A3D0091CF4E68100C4259F /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = 59A3CFFC1CF4E68100C4259F /* main.mm */; };
|
||||||
59A3D00B1CF4E68100C4259F /* RunModelViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 59A3CFFF1CF4E68100C4259F /* RunModelViewController.mm */; };
|
59A3D00B1CF4E68100C4259F /* RunModelViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 59A3CFFF1CF4E68100C4259F /* RunModelViewController.mm */; };
|
||||||
59A3D00C1CF4E68100C4259F /* RunModelViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 59A3D0001CF4E68100C4259F /* RunModelViewController.xib */; };
|
59A3D00C1CF4E68100C4259F /* RunModelViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 59A3D0001CF4E68100C4259F /* RunModelViewController.xib */; };
|
||||||
59A3D0141CF4E82500C4259F /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 59A3D0131CF4E82500C4259F /* CoreGraphics.framework */; };
|
|
||||||
59A3D0181CF4E86100C4259F /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 59A3D0171CF4E86100C4259F /* UIKit.framework */; };
|
|
||||||
/* End PBXBuildFile section */
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
/* Begin PBXFileReference section */
|
/* Begin PBXFileReference section */
|
||||||
590E7D861D02091F00DF5523 /* libprotobuf-lite.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libprotobuf-lite.a"; path = "../../makefile/gen/protobuf_ios/lib/libprotobuf-lite.a"; sourceTree = "<group>"; };
|
1C0D73481ECCC41B008C1DAB /* CoreImage.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreImage.framework; path = System/Library/Frameworks/CoreImage.framework; sourceTree = SDKROOT; };
|
||||||
590E7D871D02091F00DF5523 /* libprotobuf.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libprotobuf.a; path = ../../makefile/gen/protobuf_ios/lib/libprotobuf.a; sourceTree = "<group>"; };
|
1C0D734A1ECCC460008C1DAB /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
|
||||||
5911579B1CF4011C00C31E3A /* tf_ios_makefile_example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = tf_ios_makefile_example.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
1CA45FFE1ECCC356002FA6A4 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
|
||||||
5993C7731D5D4EAF0048CE6A /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; };
|
5911579B1CF4011C00C31E3A /* tf_simple_example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = tf_simple_example.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
59A3CFF11CF4E68100C4259F /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
|
59A3CFF11CF4E68100C4259F /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
|
||||||
59A3CFF21CF4E68100C4259F /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AppDelegate.mm; sourceTree = "<group>"; };
|
59A3CFF21CF4E68100C4259F /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AppDelegate.mm; sourceTree = "<group>"; };
|
||||||
59A3CFF41CF4E68100C4259F /* cropped_panda.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = cropped_panda.jpg; sourceTree = "<group>"; };
|
|
||||||
59A3CFF51CF4E68100C4259F /* grace_hopper.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = grace_hopper.jpg; sourceTree = "<group>"; };
|
59A3CFF51CF4E68100C4259F /* grace_hopper.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = grace_hopper.jpg; sourceTree = "<group>"; };
|
||||||
59A3CFF61CF4E68100C4259F /* imagenet_2012_challenge_label_map_proto.pbtxt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = imagenet_2012_challenge_label_map_proto.pbtxt; sourceTree = "<group>"; };
|
|
||||||
59A3CFF71CF4E68100C4259F /* imagenet_comp_graph_label_strings.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = imagenet_comp_graph_label_strings.txt; sourceTree = "<group>"; };
|
59A3CFF71CF4E68100C4259F /* imagenet_comp_graph_label_strings.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = imagenet_comp_graph_label_strings.txt; sourceTree = "<group>"; };
|
||||||
59A3CFF81CF4E68100C4259F /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LICENSE; sourceTree = "<group>"; };
|
|
||||||
59A3CFF91CF4E68100C4259F /* tensorflow_inception_graph.pb */ = {isa = PBXFileReference; lastKnownFileType = file; path = tensorflow_inception_graph.pb; sourceTree = "<group>"; };
|
59A3CFF91CF4E68100C4259F /* tensorflow_inception_graph.pb */ = {isa = PBXFileReference; lastKnownFileType = file; path = tensorflow_inception_graph.pb; sourceTree = "<group>"; };
|
||||||
59A3CFFA1CF4E68100C4259F /* ios_image_load.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ios_image_load.h; sourceTree = "<group>"; };
|
59A3CFFA1CF4E68100C4259F /* ios_image_load.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ios_image_load.h; sourceTree = "<group>"; };
|
||||||
59A3CFFB1CF4E68100C4259F /* ios_image_load.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ios_image_load.mm; sourceTree = "<group>"; };
|
59A3CFFB1CF4E68100C4259F /* ios_image_load.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ios_image_load.mm; sourceTree = "<group>"; };
|
||||||
@ -42,9 +37,9 @@
|
|||||||
59A3CFFE1CF4E68100C4259F /* RunModelViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RunModelViewController.h; sourceTree = "<group>"; };
|
59A3CFFE1CF4E68100C4259F /* RunModelViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RunModelViewController.h; sourceTree = "<group>"; };
|
||||||
59A3CFFF1CF4E68100C4259F /* RunModelViewController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RunModelViewController.mm; sourceTree = "<group>"; };
|
59A3CFFF1CF4E68100C4259F /* RunModelViewController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RunModelViewController.mm; sourceTree = "<group>"; };
|
||||||
59A3D0001CF4E68100C4259F /* RunModelViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = RunModelViewController.xib; sourceTree = "<group>"; };
|
59A3D0001CF4E68100C4259F /* RunModelViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = RunModelViewController.xib; sourceTree = "<group>"; };
|
||||||
59A3D0131CF4E82500C4259F /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
|
73DBC33C5DD9A526EE6D1EF2 /* libPods-tf_simple_example.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-tf_simple_example.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
59A3D0151CF4E83D00C4259F /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
|
87ABECA6543FF90E81111A6D /* Pods-tf_simple_example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-tf_simple_example.release.xcconfig"; path = "Pods/Target Support Files/Pods-tf_simple_example/Pods-tf_simple_example.release.xcconfig"; sourceTree = "<group>"; };
|
||||||
59A3D0171CF4E86100C4259F /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
|
8C94FEE43FD467468C5B75AA /* Pods-tf_simple_example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-tf_simple_example.debug.xcconfig"; path = "Pods/Target Support Files/Pods-tf_simple_example/Pods-tf_simple_example.debug.xcconfig"; sourceTree = "<group>"; };
|
||||||
/* End PBXFileReference section */
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
/* Begin PBXFrameworksBuildPhase section */
|
/* Begin PBXFrameworksBuildPhase section */
|
||||||
@ -52,26 +47,38 @@
|
|||||||
isa = PBXFrameworksBuildPhase;
|
isa = PBXFrameworksBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
5993C7741D5D4EAF0048CE6A /* Accelerate.framework in Frameworks */,
|
1C0D734B1ECCC460008C1DAB /* CoreGraphics.framework in Frameworks */,
|
||||||
590E7D8A1D0209DD00DF5523 /* libprotobuf.a in Frameworks */,
|
1CA45FFF1ECCC356002FA6A4 /* UIKit.framework in Frameworks */,
|
||||||
590E7D881D02091F00DF5523 /* libprotobuf-lite.a in Frameworks */,
|
2530463E3C9A9D5FB9299C0E /* libPods-tf_simple_example.a in Frameworks */,
|
||||||
59A3D0181CF4E86100C4259F /* UIKit.framework in Frameworks */,
|
|
||||||
59A3D0141CF4E82500C4259F /* CoreGraphics.framework in Frameworks */,
|
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
/* End PBXFrameworksBuildPhase section */
|
/* End PBXFrameworksBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXGroup section */
|
/* Begin PBXGroup section */
|
||||||
|
24D7686C331131624F4454A0 /* Frameworks */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
1C0D734A1ECCC460008C1DAB /* CoreGraphics.framework */,
|
||||||
|
1C0D73481ECCC41B008C1DAB /* CoreImage.framework */,
|
||||||
|
1CA45FFE1ECCC356002FA6A4 /* UIKit.framework */,
|
||||||
|
73DBC33C5DD9A526EE6D1EF2 /* libPods-tf_simple_example.a */,
|
||||||
|
);
|
||||||
|
name = Frameworks;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
3E9FC355632FB928EA23BEED /* Pods */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
8C94FEE43FD467468C5B75AA /* Pods-tf_simple_example.debug.xcconfig */,
|
||||||
|
87ABECA6543FF90E81111A6D /* Pods-tf_simple_example.release.xcconfig */,
|
||||||
|
);
|
||||||
|
name = Pods;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
591157921CF4011C00C31E3A = {
|
591157921CF4011C00C31E3A = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
5993C7731D5D4EAF0048CE6A /* Accelerate.framework */,
|
|
||||||
590E7D861D02091F00DF5523 /* libprotobuf-lite.a */,
|
|
||||||
590E7D871D02091F00DF5523 /* libprotobuf.a */,
|
|
||||||
59A3D0171CF4E86100C4259F /* UIKit.framework */,
|
|
||||||
59A3D0151CF4E83D00C4259F /* Foundation.framework */,
|
|
||||||
59A3D0131CF4E82500C4259F /* CoreGraphics.framework */,
|
|
||||||
59A3CFF11CF4E68100C4259F /* AppDelegate.h */,
|
59A3CFF11CF4E68100C4259F /* AppDelegate.h */,
|
||||||
59A3CFF21CF4E68100C4259F /* AppDelegate.mm */,
|
59A3CFF21CF4E68100C4259F /* AppDelegate.mm */,
|
||||||
59A3CFF31CF4E68100C4259F /* data */,
|
59A3CFF31CF4E68100C4259F /* data */,
|
||||||
@ -83,13 +90,15 @@
|
|||||||
59A3CFFF1CF4E68100C4259F /* RunModelViewController.mm */,
|
59A3CFFF1CF4E68100C4259F /* RunModelViewController.mm */,
|
||||||
59A3D0001CF4E68100C4259F /* RunModelViewController.xib */,
|
59A3D0001CF4E68100C4259F /* RunModelViewController.xib */,
|
||||||
5911579C1CF4011C00C31E3A /* Products */,
|
5911579C1CF4011C00C31E3A /* Products */,
|
||||||
|
3E9FC355632FB928EA23BEED /* Pods */,
|
||||||
|
24D7686C331131624F4454A0 /* Frameworks */,
|
||||||
);
|
);
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
5911579C1CF4011C00C31E3A /* Products */ = {
|
5911579C1CF4011C00C31E3A /* Products */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
5911579B1CF4011C00C31E3A /* tf_ios_makefile_example.app */,
|
5911579B1CF4011C00C31E3A /* tf_simple_example.app */,
|
||||||
);
|
);
|
||||||
name = Products;
|
name = Products;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@ -97,11 +106,8 @@
|
|||||||
59A3CFF31CF4E68100C4259F /* data */ = {
|
59A3CFF31CF4E68100C4259F /* data */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
59A3CFF41CF4E68100C4259F /* cropped_panda.jpg */,
|
|
||||||
59A3CFF51CF4E68100C4259F /* grace_hopper.jpg */,
|
59A3CFF51CF4E68100C4259F /* grace_hopper.jpg */,
|
||||||
59A3CFF61CF4E68100C4259F /* imagenet_2012_challenge_label_map_proto.pbtxt */,
|
|
||||||
59A3CFF71CF4E68100C4259F /* imagenet_comp_graph_label_strings.txt */,
|
59A3CFF71CF4E68100C4259F /* imagenet_comp_graph_label_strings.txt */,
|
||||||
59A3CFF81CF4E68100C4259F /* LICENSE */,
|
|
||||||
59A3CFF91CF4E68100C4259F /* tensorflow_inception_graph.pb */,
|
59A3CFF91CF4E68100C4259F /* tensorflow_inception_graph.pb */,
|
||||||
);
|
);
|
||||||
path = data;
|
path = data;
|
||||||
@ -110,21 +116,24 @@
|
|||||||
/* End PBXGroup section */
|
/* End PBXGroup section */
|
||||||
|
|
||||||
/* Begin PBXNativeTarget section */
|
/* Begin PBXNativeTarget section */
|
||||||
5911579A1CF4011C00C31E3A /* tf_ios_makefile_example */ = {
|
5911579A1CF4011C00C31E3A /* tf_simple_example */ = {
|
||||||
isa = PBXNativeTarget;
|
isa = PBXNativeTarget;
|
||||||
buildConfigurationList = 591157B21CF4011D00C31E3A /* Build configuration list for PBXNativeTarget "tf_ios_makefile_example" */;
|
buildConfigurationList = 591157B21CF4011D00C31E3A /* Build configuration list for PBXNativeTarget "tf_simple_example" */;
|
||||||
buildPhases = (
|
buildPhases = (
|
||||||
|
1CD07C1CEB04E50C5975C7BB /* [CP] Check Pods Manifest.lock */,
|
||||||
591157971CF4011C00C31E3A /* Sources */,
|
591157971CF4011C00C31E3A /* Sources */,
|
||||||
591157981CF4011C00C31E3A /* Frameworks */,
|
591157981CF4011C00C31E3A /* Frameworks */,
|
||||||
591157991CF4011C00C31E3A /* Resources */,
|
591157991CF4011C00C31E3A /* Resources */,
|
||||||
|
0EABEF9F31578BDA8CA9D2A7 /* [CP] Embed Pods Frameworks */,
|
||||||
|
96DDF9E6E35958387A215092 /* [CP] Copy Pods Resources */,
|
||||||
);
|
);
|
||||||
buildRules = (
|
buildRules = (
|
||||||
);
|
);
|
||||||
dependencies = (
|
dependencies = (
|
||||||
);
|
);
|
||||||
name = tf_ios_makefile_example;
|
name = tf_simple_example;
|
||||||
productName = tf_ios_makefile_example;
|
productName = tf_ios_makefile_example;
|
||||||
productReference = 5911579B1CF4011C00C31E3A /* tf_ios_makefile_example.app */;
|
productReference = 5911579B1CF4011C00C31E3A /* tf_simple_example.app */;
|
||||||
productType = "com.apple.product-type.application";
|
productType = "com.apple.product-type.application";
|
||||||
};
|
};
|
||||||
/* End PBXNativeTarget section */
|
/* End PBXNativeTarget section */
|
||||||
@ -133,7 +142,7 @@
|
|||||||
591157931CF4011C00C31E3A /* Project object */ = {
|
591157931CF4011C00C31E3A /* Project object */ = {
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
LastUpgradeCheck = 0720;
|
LastUpgradeCheck = 0830;
|
||||||
ORGANIZATIONNAME = Google;
|
ORGANIZATIONNAME = Google;
|
||||||
TargetAttributes = {
|
TargetAttributes = {
|
||||||
5911579A1CF4011C00C31E3A = {
|
5911579A1CF4011C00C31E3A = {
|
||||||
@ -142,7 +151,7 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
buildConfigurationList = 591157961CF4011C00C31E3A /* Build configuration list for PBXProject "tf_ios_makefile_example" */;
|
buildConfigurationList = 591157961CF4011C00C31E3A /* Build configuration list for PBXProject "tf_simple_example" */;
|
||||||
compatibilityVersion = "Xcode 3.2";
|
compatibilityVersion = "Xcode 3.2";
|
||||||
developmentRegion = English;
|
developmentRegion = English;
|
||||||
hasScannedForEncodings = 0;
|
hasScannedForEncodings = 0;
|
||||||
@ -155,7 +164,7 @@
|
|||||||
projectDirPath = "";
|
projectDirPath = "";
|
||||||
projectRoot = "";
|
projectRoot = "";
|
||||||
targets = (
|
targets = (
|
||||||
5911579A1CF4011C00C31E3A /* tf_ios_makefile_example */,
|
5911579A1CF4011C00C31E3A /* tf_simple_example */,
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
/* End PBXProject section */
|
/* End PBXProject section */
|
||||||
@ -174,6 +183,54 @@
|
|||||||
};
|
};
|
||||||
/* End PBXResourcesBuildPhase section */
|
/* End PBXResourcesBuildPhase section */
|
||||||
|
|
||||||
|
/* Begin PBXShellScriptBuildPhase section */
|
||||||
|
0EABEF9F31578BDA8CA9D2A7 /* [CP] Embed Pods Frameworks */ = {
|
||||||
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
inputPaths = (
|
||||||
|
);
|
||||||
|
name = "[CP] Embed Pods Frameworks";
|
||||||
|
outputPaths = (
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
shellPath = /bin/sh;
|
||||||
|
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-tf_simple_example/Pods-tf_simple_example-frameworks.sh\"\n";
|
||||||
|
showEnvVarsInLog = 0;
|
||||||
|
};
|
||||||
|
1CD07C1CEB04E50C5975C7BB /* [CP] Check Pods Manifest.lock */ = {
|
||||||
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
inputPaths = (
|
||||||
|
);
|
||||||
|
name = "[CP] Check Pods Manifest.lock";
|
||||||
|
outputPaths = (
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
shellPath = /bin/sh;
|
||||||
|
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n";
|
||||||
|
showEnvVarsInLog = 0;
|
||||||
|
};
|
||||||
|
96DDF9E6E35958387A215092 /* [CP] Copy Pods Resources */ = {
|
||||||
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
inputPaths = (
|
||||||
|
);
|
||||||
|
name = "[CP] Copy Pods Resources";
|
||||||
|
outputPaths = (
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
shellPath = /bin/sh;
|
||||||
|
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-tf_simple_example/Pods-tf_simple_example-resources.sh\"\n";
|
||||||
|
showEnvVarsInLog = 0;
|
||||||
|
};
|
||||||
|
/* End PBXShellScriptBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXSourcesBuildPhase section */
|
/* Begin PBXSourcesBuildPhase section */
|
||||||
591157971CF4011C00C31E3A /* Sources */ = {
|
591157971CF4011C00C31E3A /* Sources */ = {
|
||||||
isa = PBXSourcesBuildPhase;
|
isa = PBXSourcesBuildPhase;
|
||||||
@ -202,8 +259,10 @@
|
|||||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||||
CLANG_WARN_EMPTY_BODY = YES;
|
CLANG_WARN_EMPTY_BODY = YES;
|
||||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||||
|
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||||
CLANG_WARN_INT_CONVERSION = YES;
|
CLANG_WARN_INT_CONVERSION = YES;
|
||||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||||
|
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||||
@ -225,7 +284,7 @@
|
|||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 9.2;
|
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||||
MTL_ENABLE_DEBUG_INFO = YES;
|
MTL_ENABLE_DEBUG_INFO = YES;
|
||||||
ONLY_ACTIVE_ARCH = YES;
|
ONLY_ACTIVE_ARCH = YES;
|
||||||
SDKROOT = iphoneos;
|
SDKROOT = iphoneos;
|
||||||
@ -246,8 +305,10 @@
|
|||||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||||
CLANG_WARN_EMPTY_BODY = YES;
|
CLANG_WARN_EMPTY_BODY = YES;
|
||||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||||
|
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||||
CLANG_WARN_INT_CONVERSION = YES;
|
CLANG_WARN_INT_CONVERSION = YES;
|
||||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||||
|
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||||
@ -263,7 +324,7 @@
|
|||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 9.2;
|
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||||
MTL_ENABLE_DEBUG_INFO = NO;
|
MTL_ENABLE_DEBUG_INFO = NO;
|
||||||
SDKROOT = iphoneos;
|
SDKROOT = iphoneos;
|
||||||
TARGETED_DEVICE_FAMILY = "1,2";
|
TARGETED_DEVICE_FAMILY = "1,2";
|
||||||
@ -273,38 +334,21 @@
|
|||||||
};
|
};
|
||||||
591157B31CF4011D00C31E3A /* Debug */ = {
|
591157B31CF4011D00C31E3A /* Debug */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
|
baseConfigurationReference = 8C94FEE43FD467468C5B75AA /* Pods-tf_simple_example.debug.xcconfig */;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
CLANG_DEBUG_INFORMATION_LEVEL = default;
|
CLANG_DEBUG_INFORMATION_LEVEL = default;
|
||||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||||
ENABLE_BITCODE = NO;
|
ENABLE_BITCODE = NO;
|
||||||
GCC_ENABLE_CPP_EXCEPTIONS = YES;
|
GCC_ENABLE_CPP_EXCEPTIONS = YES;
|
||||||
GCC_ENABLE_CPP_RTTI = YES;
|
GCC_ENABLE_CPP_RTTI = YES;
|
||||||
HEADER_SEARCH_PATHS = (
|
HEADER_SEARCH_PATHS = "$(inherited)";
|
||||||
"$(SRCROOT)/../../../..",
|
|
||||||
"$(SRCROOT)/../../makefile/downloads/protobuf/src/",
|
|
||||||
"$(SRCROOT)/../../makefile/downloads",
|
|
||||||
"$(SRCROOT)/../../makefile/gen/proto",
|
|
||||||
"$(SRCROOT)/../../makefile/downloads/eigen",
|
|
||||||
);
|
|
||||||
INFOPLIST_FILE = "$(SRCROOT)/RunModel-Info.plist";
|
INFOPLIST_FILE = "$(SRCROOT)/RunModel-Info.plist";
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 9.2;
|
IPHONEOS_DEPLOYMENT_TARGET = 9.2;
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||||
LIBRARY_SEARCH_PATHS = (
|
LIBRARY_SEARCH_PATHS = "";
|
||||||
"$(SRCROOT)/../../makefile/gen/protobuf_ios/lib",
|
|
||||||
"$(SRCROOT)/../../makefile/gen/lib",
|
|
||||||
);
|
|
||||||
OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)";
|
OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)";
|
||||||
OTHER_LDFLAGS = (
|
OTHER_LDFLAGS = "$(inherited)";
|
||||||
"-force_load",
|
PRODUCT_BUNDLE_IDENTIFIER = "com.google.tf-simple-example";
|
||||||
"$(SRCROOT)/../../makefile/gen/lib/libtensorflow-core.a",
|
|
||||||
"-Xlinker",
|
|
||||||
"-S",
|
|
||||||
"-Xlinker",
|
|
||||||
"-x",
|
|
||||||
"-Xlinker",
|
|
||||||
"-dead_strip",
|
|
||||||
);
|
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = "com.google.TF-Test";
|
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
SEPARATE_STRIP = NO;
|
SEPARATE_STRIP = NO;
|
||||||
};
|
};
|
||||||
@ -312,39 +356,22 @@
|
|||||||
};
|
};
|
||||||
591157B41CF4011D00C31E3A /* Release */ = {
|
591157B41CF4011D00C31E3A /* Release */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
|
baseConfigurationReference = 87ABECA6543FF90E81111A6D /* Pods-tf_simple_example.release.xcconfig */;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
CLANG_DEBUG_INFORMATION_LEVEL = default;
|
CLANG_DEBUG_INFORMATION_LEVEL = default;
|
||||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||||
ENABLE_BITCODE = NO;
|
ENABLE_BITCODE = NO;
|
||||||
GCC_ENABLE_CPP_EXCEPTIONS = YES;
|
GCC_ENABLE_CPP_EXCEPTIONS = YES;
|
||||||
GCC_ENABLE_CPP_RTTI = YES;
|
GCC_ENABLE_CPP_RTTI = YES;
|
||||||
HEADER_SEARCH_PATHS = (
|
HEADER_SEARCH_PATHS = "$(inherited)";
|
||||||
"$(SRCROOT)/../../../..",
|
|
||||||
"$(SRCROOT)/../../makefile/downloads/protobuf/src/",
|
|
||||||
"$(SRCROOT)/../../makefile/downloads",
|
|
||||||
"$(SRCROOT)/../../makefile/gen/proto",
|
|
||||||
"$(SRCROOT)/../../makefile/downloads/eigen",
|
|
||||||
);
|
|
||||||
INFOPLIST_FILE = "$(SRCROOT)/RunModel-Info.plist";
|
INFOPLIST_FILE = "$(SRCROOT)/RunModel-Info.plist";
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 9.2;
|
IPHONEOS_DEPLOYMENT_TARGET = 9.2;
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||||
LIBRARY_SEARCH_PATHS = (
|
LIBRARY_SEARCH_PATHS = "";
|
||||||
"$(SRCROOT)/../../makefile/gen/protobuf_ios/lib",
|
|
||||||
"$(SRCROOT)/../../makefile/gen/lib",
|
|
||||||
);
|
|
||||||
ONLY_ACTIVE_ARCH = YES;
|
ONLY_ACTIVE_ARCH = YES;
|
||||||
OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)";
|
OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)";
|
||||||
OTHER_LDFLAGS = (
|
OTHER_LDFLAGS = "$(inherited)";
|
||||||
"-force_load",
|
PRODUCT_BUNDLE_IDENTIFIER = "com.google.tf-simple-example";
|
||||||
"$(SRCROOT)/../../makefile/gen/lib/libtensorflow-core.a",
|
|
||||||
"-Xlinker",
|
|
||||||
"-S",
|
|
||||||
"-Xlinker",
|
|
||||||
"-x",
|
|
||||||
"-Xlinker",
|
|
||||||
"-dead_strip",
|
|
||||||
);
|
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = "com.google.TF-Test";
|
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
SEPARATE_STRIP = NO;
|
SEPARATE_STRIP = NO;
|
||||||
};
|
};
|
||||||
@ -353,7 +380,7 @@
|
|||||||
/* End XCBuildConfiguration section */
|
/* End XCBuildConfiguration section */
|
||||||
|
|
||||||
/* Begin XCConfigurationList section */
|
/* Begin XCConfigurationList section */
|
||||||
591157961CF4011C00C31E3A /* Build configuration list for PBXProject "tf_ios_makefile_example" */ = {
|
591157961CF4011C00C31E3A /* Build configuration list for PBXProject "tf_simple_example" */ = {
|
||||||
isa = XCConfigurationList;
|
isa = XCConfigurationList;
|
||||||
buildConfigurations = (
|
buildConfigurations = (
|
||||||
591157B01CF4011D00C31E3A /* Debug */,
|
591157B01CF4011D00C31E3A /* Debug */,
|
||||||
@ -362,7 +389,7 @@
|
|||||||
defaultConfigurationIsVisible = 0;
|
defaultConfigurationIsVisible = 0;
|
||||||
defaultConfigurationName = Release;
|
defaultConfigurationName = Release;
|
||||||
};
|
};
|
||||||
591157B21CF4011D00C31E3A /* Build configuration list for PBXNativeTarget "tf_ios_makefile_example" */ = {
|
591157B21CF4011D00C31E3A /* Build configuration list for PBXNativeTarget "tf_simple_example" */ = {
|
||||||
isa = XCConfigurationList;
|
isa = XCConfigurationList;
|
||||||
buildConfigurations = (
|
buildConfigurations = (
|
||||||
591157B31CF4011D00C31E3A /* Debug */,
|
591157B31CF4011D00C31E3A /* Debug */,
|
Loading…
Reference in New Issue
Block a user