From 4fbe5a463116f7963f3a09fba4dd8c8f649f9bcf Mon Sep 17 00:00:00 2001 From: Neal Smith Date: Tue, 10 Oct 2017 18:13:06 -0700 Subject: [PATCH 01/16] adding the source --- api/LICENSE | 193 +++++++ api/include/mvnc.h | 69 +++ api/include/mvnc_deprecated.h | 39 ++ api/python/mvnc/__init__.py | 0 api/python/mvnc/mvncapi.py | 268 ++++++++++ api/src/97-usbboot.rules | 3 + api/src/Makefile | 79 +++ api/src/Makefile.rpi | 43 ++ api/src/USBLinkDefines.h | 65 +++ api/src/common.h | 34 ++ api/src/mvnc/MvNCAPI.mvcmd | Bin 0 -> 813376 bytes api/src/mvnc_api.c | 966 ++++++++++++++++++++++++++++++++++ api/src/usb_boot.c | 335 ++++++++++++ api/src/usb_boot.h | 21 + api/src/usb_link.h | 28 + api/src/usb_link_vsc.c | 204 +++++++ 16 files changed, 2347 insertions(+) create mode 100644 api/LICENSE create mode 100644 api/include/mvnc.h create mode 100644 api/include/mvnc_deprecated.h create mode 100644 api/python/mvnc/__init__.py create mode 100644 api/python/mvnc/mvncapi.py create mode 100644 api/src/97-usbboot.rules create mode 100644 api/src/Makefile create mode 100644 api/src/Makefile.rpi create mode 100644 api/src/USBLinkDefines.h create mode 100644 api/src/common.h create mode 100644 api/src/mvnc/MvNCAPI.mvcmd create mode 100644 api/src/mvnc_api.c create mode 100644 api/src/usb_boot.c create mode 100644 api/src/usb_boot.h create mode 100644 api/src/usb_link.h create mode 100644 api/src/usb_link_vsc.c diff --git a/api/LICENSE b/api/LICENSE new file mode 100644 index 0000000..a444ba1 --- /dev/null +++ b/api/LICENSE @@ -0,0 +1,193 @@ +SOFTWARE TOOLS LICENSE AGREEMENT + +DO NOT DOWNLOAD, INSTALL, ACCESS, COPY, OR USE ANY PORTION OF THE MATERIALS (DEFINED BELOW) UNTIL YOU HAVE READ AND ACCEPTED +THE TERMS AND CONDITIONS OF THIS AGREEMENT. BY INSTALLING, COPYING, ACCESSING, OR USING THE MATERIALS, YOU AGREE TO BE LEGALLY +BOUND BY THE TERMS AND CONDITIONS OF THIS AGREEMENT. If You do not agree to be bound by, or the entity for whose benefit You act has not +authorized You to accept, these terms and conditions, do not install, access, copy, or use the Software and destroy all copies of the Software in Your +possession. + +This DEVELOPMENT TOOLS LICENSE AGREEMENT (this "Agreement") is entered into between Intel Corporation, a Delaware corporation ("Intel") and You. +"You" refers to you or your employer or other entity for whose benefit you act, as applicable. If you are agreeing to the terms and conditions of this +Agreement on behalf of a company or other legal entity, you represent and warrant that you have the legal authority to bind that legal entity to the +Agreement, in which case, "You" or "Your" shall be in reference to such entity. Intel and You are referred to herein individually as a "Party" or, together, as +the "Parties". + +The Parties, in consideration of the mutual covenants contained in this Agreement, and for other good and valuable consideration, the receipt and +sufficiency of which they acknowledge, and intending to be legally bound, agree as follows: + +1. DEFINITIONS. The following definitions are used throughout this Agreement: +"Affiliate" means any entity controlling, controlled by or under common control with a Party hereto, where "control" means the direct or indirect ownership +of more than fifty percent (50%) of such entity"s capital or equivalent voting rights. An entity will be deemed an "Affiliate" only as long as such control exists +during the term of this Agreement. + +"Contractor" means a third party consultant or subcontractor who requires access to or use of the Materials to perform work on Your behalf or at Your +behest. + +"Development Tools" means the development, evaluation, production, or test tool software, and associated documentation or other collateral, identified +in the "development_tools.txt" text files, if any, included in the Materials. + +"Derivatives" means derivative works as defined in 17 U.S.C " 101 et seq. + +"Intel-based Device" means a device designed, manufactured, or configured by You or Your Affiliates to include or operate Intel hardware, software, or +services. + +"Materials" means the software, documentation, the software product serial number and license key codes (if applicable), Development Tools, +Redistributables, and other materials or collateral, including any updates and upgrades thereto, in source code or object code form where applicable, that +are provided or otherwise made available by Intel to You under this Agreement. "Materials" do not include Open Source Software or any computer +programming code that is subject to an agreement, obligation or license (whether or not accompanying the Materials) intended to supersede this +Agreement. + +"Redistributables" means the software, documentation, or other collateral identified in the "redist.txt" text files, if any, included in the Materials. + +2. LIMITED LICENSE. +(A) Subject to the terms and conditions of this Agreement, Intel grants You and Your Affiliates, a limited, nonexclusive, nontransferable, revocable, +worldwide, fully paid-up license during the term of this Agreement, without the right to sublicense, unless expressly stated otherwise, to: +(1) internally reproduce and install a reasonable number of copies of the Materials for Your internal use solely for the purposes of designing, +developing, manufacturing and testing Intel-based Devices; +(2) internally reproduce the source code of the Development Tools, if provided to You by Intel, and to internally create and reproduce Derivatives of +the Development Tools, and to internally reproduce the binary code of the Development Tools, or any Derivatives created by You, in each case solely +for the purpose of designing, developing, manufacturing and testing the Intel-based Device, solely as necessary for the integration of any Intel software +and the output generated by the Development Tools, with and into Intel-based Devices; +(3) create Derivatives of the Redistributables, or any portions thereof, provided to You by Intel in source code form solely for the purposes of designing, +developing, debugging, modifying, distributing and testing software containing significantly more functionality and features than the Redistributables +in the form provided to You by Intel; +(4) distribute (or otherwise make available) on a royalty-free basis, subject to any other terms and conditions which may appear in the Redistributables +text files, the Redistributables, including any Derivatives of the Redistributables pursuant to Section 2(A)(3), or any portions thereof, only as integrated +or embedded in software (and not on a stand-alone basis) solely for use on an Intel-based Device; and +(5) have the tasks set forth in Section 2(A)(1) and (2) above performed by a Contractor on the conditions that You enter into a written confidentiality +agreement with any such Contractor, subject to Section 7 (Confidentiality), and You remain fully liable to Intel for the actions and inactions of Your +Contractors. +(B) You will be liable for Your Affiliate"s breach of these terms. In addition, You acknowledge that Your Affiliates are beneficiaries of the licenses granted by +Intel under Section 2. +(C) Intel hereby grants You the right to sub-license (without rights to further sublicense) the Development Tools, including any accompanying +documentation, to Your manufacturing partners, in the code format provided to You by Intel, solely for designing, developing, manufacturing and testing +the Intel-based Devices solely as necessary for the integration of any Intel software and the output generated by the Development Tools, with and into +Intel-based Devices. The sublicense is subject to a written sublicensing agreement that contains confidentiality obligations and license restrictions that are +no less protective of Intel than those provided in this Agreement. You will be fully responsible and liable towards Intel for Your sub-licensees" compliance +with all such confidentiality obligations and license restrictions. You may grant Your manufacturing partners the right to further distribute Redistributables +solely as integrated or embedded in software for Your Intel-based Devices. + +3. LICENSE RESTRICTIONS. All right, title and interest in and to the Materials and associated documentation are and will remain the exclusive property of +Intel and its suppliers. Unless expressly permitted under the Agreement, You will not, and will not allow any third party to (i) use, copy, distribute, sell or +offer to sell the Materials or associated documentation; (ii) modify, adapt, enhance, disassemble, decompile, reverse engineer, change or create derivative +works from the Materials except and only to the extent as specifically required by mandatory applicable laws or any applicable third party license terms +accompanying the Materials; (iii) use or make the Materials available for the use or benefit of third parties; or (iv) use the Materials on Your products other +than those that include the Intel product(s), platform(s), or software identified in the Materials; or (v) publish or provide any Materials benchmark or +comparison test results. +If You received the Materials solely for evaluation purposes, You have no distribution rights to the Materials or any portion thereof. + +Distribution of the Redistributables is also subject to the following conditions: You shall: (i) be solely responsible to Your customers and end users for any +update or support obligation or other liability which may arise from the distribution, (ii) not make any statement that Your software is "certified", or that its +performance is guaranteed, by Intel, (iii) not use Intel's name or trademarks to promote Your software without prior written permission, (iv) use a license +agreement that contains provisions that are at least as restrictive as this Agreement and which prohibits disassembly and reverse engineering of the +Materials provided in object code form, and (v) indemnify, hold harmless, and defend Intel, Intel"s Affiliates, and its licensors from and against any claims +or lawsuits, including attorney's fees, that arise or result from Your Derivatives or Your distribution of Your software. + +The consideration under this Agreement is only for the licenses Intel expressly grants above. Any other rights including, but not limited to, additional patent +rights, will require an additional license and additional consideration. Nothing in this Agreement requires or will be treated to require Intel to grant any +additional license. You acknowledge that an essential basis of the bargain in this Agreement is that Intel grants You no licenses or other rights including, +but not limited to, patent, copyright, trade secret, trademark, trade name, service mark or other intellectual property licenses or rights with respect to the +Materials and associated documentation, by implication, estoppel or otherwise, except for the licenses expressly granted above. You acknowledge there +are significant uses of the Materials in their original, unmodified and uncombined form. The consideration for the licenses in this Agreement reflects Intel"s +continuing right to assert patent claims against any modifications or derivative works (including, without limitation, error corrections and bug fixes) of, or +combinations with, the Materials that You, Your Affiliates or third parties make that infringe any Intel patent claim. + +4. LICENSE TO FEEDBACK. This Agreement does not obligate You to provide Intel with materials, information, comments, suggestions, Your Derivatives or +other communication regarding the features, functions, performance or use of the Materials ("Feedback"). If any software included in the Materials is +provided or otherwise made available by Intel in source code form, to the extent You provide Intel with Feedback in a tangible form, You grant to Intel and +its affiliates a non-exclusive, perpetual, sublicenseable, irrevocable, worldwide, royalty-free, fully paid-up and transferable license, to and under all of Your +intellectual property rights, whether perfected or not, to publicly perform, publicly display, reproduce, use, make, have made, sell, offer for sale, distribute, +import, create derivative works of and otherwise exploit any comments, suggestions, descriptions, ideas, Your Derivatives or other feedback regarding the +Materials provided by You or on Your behalf. + +5. OPEN SOURCE STATEMENT. The Materials may include Open Source Software (OSS) licensed pursuant to OSS license agreement(s) identified in the +OSS comments in the applicable source code file(s) and/or file header(s) provided with or otherwise associated with the Materials. Neither You nor any +Original Equipment Manufacturer (OEM), Original Device Manufacturer (ODM), customer, or distributor may subject any proprietary portion of the Materials +to any OSS license obligations including, without limitation, combining or distributing the Materials with OSS in a manner that subjects Intel, the Materials +or any portion thereof to any OSS license obligation. Nothing in this Agreement limits any rights under, or grants rights that supersede, the terms of any +applicable OSS license. + +6. THIRD PARTY SOFTWARE. Certain third party software provided with or within the Materials may only be used (a) upon securing a license directly from +the owner of the software or (b) in combination with hardware components purchased from such third party and (c) subject to further license limitations +by the software owner. A listing of any such third party limitations is in one or more text files accompanying the Materials. You acknowledge Intel is not +providing You with a license to such third party software and further that it is Your responsibility to obtain appropriate licenses from such third parties +directly. + +7. CONFIDENTIALITY. The terms and conditions of this Agreement, exchanged confidential information, as well as the Materials are subject to the terms +and conditions of the Non-Disclosure Agreement(s) or Intel Pre-Release Loan Agreement(s) (referred to herein collectively or individually as "NDA") entered +into by and in force between Intel and You, and in any case no less confidentiality protection than You apply to Your information of similar sensitivity. If +You would like to have a Contractor perform work on Your behalf that requires any access to or use of Materials You must obtain a written confidentiality +agreement from the Contractor which contains terms and conditions with respect to access to or use of Materials no less restrictive than those set forth in +this Agreement, excluding any distribution rights and use for any other purpose, and You will remain fully liable to Intel for the actions and inactions of +those Contractors. You may not use Intel's name in any publications, advertisements, or other announcements without Intel's prior written consent. + +8. NO OBLIGATION; NO AGENCY. Intel may make changes to the Software, or items referenced therein, at any time without notice. Intel is not obligated to +support, update, provide training for, or develop any further version of the Software or to grant any license thereto. No agency, franchise, partnership, joint- +venture, or employee-employer relationship is intended or created by this Agreement. + +9. EXCLUSION OF WARRANTIES. THE MATERIALS ARE PROVIDED "AS IS" WITHOUT ANY EXPRESS OR IMPLIED WARRANTY OF ANY KIND INCLUDING +WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT, OR FITNESS FOR A PARTICULAR PURPOSE. Intel does not warrant or assume responsibility +for the accuracy or completeness of any information, text, graphics, links or other items within the Materials. + +10. LIMITATION OF LIABILITY. IN NO EVENT WILL INTEL OR ITS AFFILIATES, LICENSORS OR SUPPLIERS (INCLUDING THEIR RESPECTIVE DIRECTORS, +OFFICERS, EMPLOYEES, AND AGENTS) BE LIABLE FOR ANY DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, LOST PROFITS, BUSINESS +INTERRUPTION, OR LOST DATA) ARISING OUT OF OR IN RELATION TO THIS AGREEMENT, INCLUDING THE USE OF OR INABILITY TO USE THE MATERIALS, +EVEN IF INTEL HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME JURISDICTIONS PROHIBIT EXCLUSION OR LIMITATION OF LIABILITY +FOR IMPLIED WARRANTIES OR CONSEQUENTIAL OR INCIDENTAL DAMAGES, SO THE ABOVE LIMITATION MAY IN PART NOT APPLY TO YOU. YOU MAY +ALSO HAVE OTHER LEGAL RIGHTS THAT VARY FROM JURISDICTION TO JURISDICTION. THE MATERIALS LICENSED HEREUNDER ARE NOT DESIGNED +OR INTENDED FOR USE IN ANY MEDICAL, LIFE SAVING OR LIFE SUSTAINING SYSTEMS, TRANSPORTATION SYSTEMS, NUCLEAR SYSTEMS, OR FOR ANY +OTHER MISSION CRITICAL APPLICATION IN WHICH THE FAILURE OF THE DEVELOPMENT TOOLS COULD LEAD TO PERSONAL INJURY OR DEATH. YOU +WILL INDEMNIFY AND HOLD INTEL AND ITS AFFILIATES, LICENSORS AND SUPPLIERS (INCLUDING THEIR RESPECTIVE DIRECTORS, OFFICERS, +EMPLOYEES, AND AGENTS) HARMLESS AGAINST ALL CLAIMS, LIABILITIES, LOSSES, COSTS, DAMAGES, AND EXPENSES (INCLUDING REASONABLE +ATTORNEY FEES), ARISING OUT OF, DIRECTLY OR INDIRECTLY, THE DISTRIBUTION OF THE MATERIALS AND ANY CLAIM OF PRODUCT LIABILITY, +PERSONAL INJURY OR DEATH ASSOCIATED WITH ANY UNINTENDED USE, EVEN IF SUCH CLAIM ALLEGES THAT INTEL OR AN INTEL AFFILIATE, LICENSOR +OR SUPPLIER WAS NEGLIGENT REGARDING THE DESIGN OR MANUFACTURE OF THE MATERIALS. THE LIMITED REMEDIES, WARRANTY DISCLAIMER AND +LIMITED LIABILITY ARE FUNDAMENTAL ELEMENTS OF THE BASIS OF THE BARGAIN BETWEEN INTEL AND YOU AND INTEL WOULD NOT BE ABLE TO +PROVIDE THE MATERIALS WITHOUT SUCH LIMITATIONS. + +11. TERMINATION AND SURVIVAL. Intel may terminate this Agreement for any reason with thirty (30) days" notice and immediately if You or someone +acting on Your behalf or at Your behest violates any of its terms or conditions. Upon termination You will immediately destroy and ensure the destruction +of the Materials (including providing certification of such destruction or return back to Intel). Upon termination of this Agreement, all licenses granted to +You hereunder terminate immediately. All Sections of this Agreement, except Section 2, will survive termination. In the event of termination of this +Agreement, the license grant to any Redistributables, including Your Derivatives of the Redistributables, distributed by You prior to the effective date of +such termination and in accordance with the terms and conditions of this Agreement shall survive any such termination of this Agreement. + +12. GOVERNING LAW AND JURISDICTION. This Agreement and any dispute arising out of or relating to it will be governed by the laws of the U.S.A. and +Delaware, without regard to conflict of laws principles. The Parties exclude the application of the United Nations Convention on Contracts for the +International Sale of Goods (1980). The state and federal courts sitting in Delaware, U.S.A. will have exclusive jurisdiction over any dispute arising out of or +relating to this Agreement. The Parties consent to personal jurisdiction and venue in those courts. A Party that obtains a judgment against the other Party +in the courts identified in this section may enforce that judgment in any court that has jurisdiction over the Parties. + +13. EXPORT REGULATIONS/EXPORT CONTROL. You agree that neither You nor Your subsidiaries or Affiliates will export/re-export the Materials, directly +or indirectly, to any country for which the U.S. Department of Commerce or any other agency or department of the U.S. Government or the foreign +government from where it is shipping requires an export license, or other governmental approval, without first obtaining any such required license or +approval. In the event the Materials are exported from the U.S.A. or re-exported from a foreign destination by You, Your subsidiaries, or Your Affiliates, You +will ensure that the distribution and export/re-export or import of the Materials complies with all laws, regulations, orders, or other restrictions of the U.S. +Export Administration Regulations and the appropriate foreign government. + +14. GOVERNMENT RESTRICTED RIGHTS. The Materials are a commercial item (as defined in 48 C.F.R. 2.101) consisting of commercial computer software +and commercial computer software documentation (as those terms are used in 48 C.F.R. 12.212). Consistent with 48 C.F.R. 12.212 and 48 C.F.R 227.72021 +through 227.7202-4, You will not provide the Materials to the U.S. Government. Contractor or Manufacturer is Intel Corporation, 2200 Mission College +Blvd., Santa Clara, CA 95054. + +15. TRADEMARKS. Third party trademarks, trade names, product names and logos (the "Trademarks") contained in or used by the Materials are the +trademarks or registered trademarks of their respective owners, and the use of such Trademarks shall inure to the benefit of the trademark owner. The +reference to such Trademarks (if any) by Intel in any of the Materials does not constitute: (i) an affiliation by Intel and its licensors with such company, or (ii) +an endorsement or approval of such company of Intel and its licensors and its products or services. + +16. ASSIGNMENT. You may not delegate, assign or transfer this Agreement, the license(s) granted or any of Your rights or duties hereunder, expressly, by +implication, by operation of law, or otherwise and any attempt to do so, without Intel"s express prior written consent, will be null and void. Intel may assign, +delegate and transfer this Agreement, and its rights and obligations hereunder, in its sole discretion. + +17. ENTIRE AGREEMENT; SEVERABILITY. The terms and conditions of this Agreement and any NDA with Intel constitute the entire agreement between the +Parties with respect to the subject matter hereof, and merge and supersede all prior or contemporaneous agreements, understandings, negotiations and +discussions. Neither Party will be bound by any terms, conditions, definitions, warranties, understandings, or representations with respect to the subject +matter hereof other than as expressly provided herein. In the event any provision of this Agreement is unenforceable or invalid under any applicable law +or applicable court decision, such unenforceability or invalidity will not render this Agreement unenforceable or invalid as a whole, instead such provision +will be changed and interpreted so as to best accomplish the objectives of such provision within legal limits. + +18. WAIVER. The failure of a Party to require performance by the other Party of any provision hereof will not affect the full right to require such performance +at any time thereafter; nor will waiver by a Party of a breach of any provision hereof constitute a waiver of the provision itself. + +19. PRIVACY. YOUR PRIVACY RIGHTS ARE SET FORTH IN INTEL'S PRIVACY NOTICE, WHICH FORMS A PART OF THIS AGREEMENT. PLEASE REVIEW THE +PRIVACY NOTICE AT HTTP://WWW.INTEL.COM/PRIVACY TO LEARN HOW INTEL COLLECTS, USES AND SHARES INFORMATION ABOUT YOU. diff --git a/api/include/mvnc.h b/api/include/mvnc.h new file mode 100644 index 0000000..082bd19 --- /dev/null +++ b/api/include/mvnc.h @@ -0,0 +1,69 @@ +#ifndef __MVNC_H_INCLUDED__ +#define __MVNC_H_INCLUDED__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#define MVNC_MAX_NAME_SIZE 28 + +typedef enum { + MVNC_OK = 0, + MVNC_BUSY = -1, // Device is busy, retry later + MVNC_ERROR = -2, // Error communicating with the device + MVNC_OUT_OF_MEMORY = -3, // Out of memory + MVNC_DEVICE_NOT_FOUND = -4, // No device at the given index or name + MVNC_INVALID_PARAMETERS = -5, // At least one of the given parameters is wrong + MVNC_TIMEOUT = -6, // Timeout in the communication with the device + MVNC_MVCMD_NOT_FOUND = -7, // The file to boot Myriad was not found + MVNC_NO_DATA = -8, // No data to return, call LoadTensor first + MVNC_GONE = -9, // The graph or device has been closed during the operation + MVNC_UNSUPPORTED_GRAPH_FILE = -10, // The graph file version is not supported + MVNC_MYRIAD_ERROR = -11, // An error has been reported by the device, use MVNC_DEBUG_INFO +} mvncStatus; + +typedef enum { + MVNC_LOG_LEVEL = 0, // Log level, int, 0 = nothing, 1 = errors, 2 = verbose +} mvncGlobalOptions; + +typedef enum { + MVNC_ITERATIONS = 0, // Number of iterations per inference, int, normally 1, not for general use + MVNC_NETWORK_THROTTLE = 1, // Measure temperature once per inference instead of once per layer, int, not for general use + MVNC_DONT_BLOCK = 2, // LoadTensor will return BUSY instead of blocking, GetResult will return NO_DATA, int + MVNC_TIME_TAKEN = 1000, // Return time taken for inference (float *) + MVNC_DEBUG_INFO = 1001, // Return debug info, string +} mvncGraphOptions; + +typedef enum { + MVNC_TEMP_LIM_LOWER = 1, // Temperature for short sleep, float, not for general use + MVNC_TEMP_LIM_HIGHER = 2, // Temperature for long sleep, float, not for general use + MVNC_BACKOFF_TIME_NORMAL = 3, // Normal sleep in ms, int, not for general use + MVNC_BACKOFF_TIME_HIGH = 4, // Short sleep in ms, int, not for general use + MVNC_BACKOFF_TIME_CRITICAL = 5, // Long sleep in ms, int, not for general use + MVNC_TEMPERATURE_DEBUG = 6, // Stop on critical temperature, int, not for general use + MVNC_THERMAL_STATS = 1000, // Return temperatures, float *, not for general use + MVNC_OPTIMISATION_LIST = 1001, // Return optimisations list, char *, not for general use + MVNC_THERMAL_THROTTLING_LEVEL = 1002, // 1=TEMP_LIM_LOWER reached, 2=TEMP_LIM_HIGHER reached +} mvncDeviceOptions; + +mvncStatus mvncGetDeviceName(int index, char *name, unsigned int nameSize); +mvncStatus mvncOpenDevice(const char *name, void **deviceHandle); +mvncStatus mvncCloseDevice(void *deviceHandle); +mvncStatus mvncAllocateGraph(void *deviceHandle, void **graphHandle, const void *graphFile, unsigned int graphFileLength); +mvncStatus mvncDeallocateGraph(void *graphHandle); +mvncStatus mvncSetGlobalOption(int option, const void *data, unsigned int dataLength); +mvncStatus mvncGetGlobalOption(int option, void *data, unsigned int *dataLength); +mvncStatus mvncSetGraphOption(void *graphHandle, int option, const void *data, unsigned int dataLength); +mvncStatus mvncGetGraphOption(void *graphHandle, int option, void *data, unsigned int *dataLength); +mvncStatus mvncSetDeviceOption(void *deviceHandle, int option, const void *data, unsigned int dataLength); +mvncStatus mvncGetDeviceOption(void *deviceHandle, int option, void *data, unsigned int *dataLength); +mvncStatus mvncLoadTensor(void *graphHandle, const void *inputTensor, unsigned int inputTensorLength, void *userParam); +mvncStatus mvncGetResult(void *graphHandle, void **outputData, unsigned int *outputDataLength, void **userParam); + +#include "mvnc_deprecated.h" +#ifdef __cplusplus +} +#endif + +#endif diff --git a/api/include/mvnc_deprecated.h b/api/include/mvnc_deprecated.h new file mode 100644 index 0000000..c7fabeb --- /dev/null +++ b/api/include/mvnc_deprecated.h @@ -0,0 +1,39 @@ +#ifndef __MVNC_DEPRECATED_H_INCLUDED__ +#define __MVNC_DEPRECATED_H_INCLUDED__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +typedef mvncGraphOptions GraphOptions __attribute__ \ + ((deprecated("GraphOptions is deprecated. Please use mvncGraphOptions"))); +typedef mvncDeviceOptions DeviceOptions __attribute__ \ + ((deprecated("DeviceOptions is deprecated. Please use mvncDeviceOptions"))); + +// Deprecated Define +#define MVNC_MAXNAMESIZE _Pragma("GCC warning \"'MVNC_MAXNAMESIZE' is deprecated. Please use 'MVNC_MAX_NAME_SIZE'\"") MVNC_MAX_NAME_SIZE + +// Deprecated Global Options +#define MVNC_LOGLEVEL _Pragma("GCC warning \"'MVNC_LOGLEVEL' is deprecated. Please use 'MVNC_LOG_LEVEL'\"") MVNC_LOG_LEVEL + +// Deprecated status values +#define MVNC_MVCMDNOTFOUND _Pragma("GCC warning \"'MVNC_MVCMDNOTFOUND' is deprecated. Please use 'MVNC_MVCMD_NOT_FOUND'\"") MVNC_MVCMD_NOT_FOUND +#define MVNC_NODATA _Pragma("GCC warning \"'MVNC_NO_DATA' is deprecated. Please use 'MVNC_NO_DATA'\"") MVNC_NO_DATA +#define MVNC_UNSUPPORTEDGRAPHFILE _Pragma("GCC warning \"'MVNC_UNSUPPORTEDGRAPHFILE' is deprecated. Please use 'MVNC_UNSUPPORTED_GRAPH_FILE'\"") MVNC_UNSUPPORTED_GRAPH_FILE +#define MVNC_MYRIADERROR _Pragma("GCC warning \"'MVNC_MYRIADERROR' is deprecated. Please use 'MVNC_MYRIAD_ERROR'\"") MVNC_MYRIAD_ERROR + +// Deprecated Graph Options values +#define MVNC_DONTBLOCK _Pragma("GCC warning \"'MVNC_DONTBLOCK' is deprecated. Please use 'MVNC_DONT_BLOCK'\"") MVNC_DONT_BLOCK +#define MVNC_TIMETAKEN _Pragma("GCC warning \"'MVNC_TIMETAKEN' is deprecated. Please use 'MVNC_TIME_TAKEN'\"") MVNC_TIME_TAKEN +#define MVNC_DEBUGINFO _Pragma("GCC warning \"'MVNC_DEBUGINFO' is deprecated. Please use 'MVNC_DEBUG_INFO'\"") MVNC_DEBUG_INFO + +// Deprecated Device Options Values +#define MVNC_THERMALSTATS _Pragma("GCC warning \"'MVNC_THERMALSTATS' is deprecated. Please use 'MVNC_THERMAL_STATS'\"") MVNC_THERMAL_STATS +#define MVNC_OPTIMISATIONLIST _Pragma("GCC warning \"'MVNC_OPTIMISATIONLIST' is deprecated. Please use 'MVNC_OPTIMISATION_LIST'\"") MVNC_OPTIMISATION_LIST + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/api/python/mvnc/__init__.py b/api/python/mvnc/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/api/python/mvnc/mvncapi.py b/api/python/mvnc/mvncapi.py new file mode 100644 index 0000000..523d6fa --- /dev/null +++ b/api/python/mvnc/mvncapi.py @@ -0,0 +1,268 @@ +# Copyright 2017 Intel Corporation. +# The source code, information and material ("Material") contained herein is +# owned by Intel Corporation or its suppliers or licensors, and title to such +# Material remains with Intel Corporation or its suppliers or licensors. +# The Material contains proprietary information of Intel or its suppliers and +# licensors. The Material is protected by worldwide copyright laws and treaty +# provisions. +# No part of the Material may be used, copied, reproduced, modified, published, +# uploaded, posted, transmitted, distributed or disclosed in any way without +# Intel's prior express written permission. No license under any patent, +# copyright or other intellectual property rights in the Material is granted to +# or conferred upon you, either expressly, by implication, inducement, estoppel +# or otherwise. +# Any license under such intellectual property rights must be express and +# approved by Intel in writing. + +import sys +import numpy +import warnings +from enum import Enum +from ctypes import * + +# The toolkit wants its local version +try: + f = CDLL("./libmvnc.so") +except: + f = CDLL("libmvnc.so") + +warnings.simplefilter('default', DeprecationWarning) + + +class EnumDeprecationHelper(object): + def __init__(self, new_target, deprecated_values): + self.new_target = new_target + self.deprecated_values = deprecated_values + + def __call__(self, *args, **kwargs): + return self.new_target(*args, **kwargs) + + def __getattr__(self, attr): + if (attr in self.deprecated_values): + warnings.warn('\033[93m' + "\"" + attr + "\" is deprecated. Please use \"" + + self.deprecated_values[attr] + "\"!" + '\033[0m', + DeprecationWarning, stacklevel=2) + return getattr(self.new_target, self.deprecated_values[attr]) + return getattr(self.new_target, attr) + + +class mvncStatus(Enum): + OK = 0 + BUSY = -1 + ERROR = -2 + OUT_OF_MEMORY = -3 + DEVICE_NOT_FOUND = -4 + INVALID_PARAMETERS = -5 + TIMEOUT = -6 + MVCMD_NOT_FOUND = -7 + NO_DATA = -8 + GONE = -9 + UNSUPPORTED_GRAPH_FILE = -10 + MYRIAD_ERROR = -11 + +Status = EnumDeprecationHelper(mvncStatus, {"MVCMDNOTFOUND": "MVCMD_NOT_FOUND", + "NODATA": "NO_DATA", + "UNSUPPORTEDGRAPHFILE": "UNSUPPORTED_GRAPH_FILE", + "MYRIADERROR": "MYRIAD_ERROR"}) + + +class mvncGlobalOption(Enum): + LOG_LEVEL = 0 + +GlobalOption = EnumDeprecationHelper(mvncGlobalOption, {"LOGLEVEL": "LOG_LEVEL"}) + + +class mvncDeviceOption(Enum): + TEMP_LIM_LOWER = 1 + TEMP_LIM_HIGHER = 2 + BACKOFF_TIME_NORMAL = 3 + BACKOFF_TIME_HIGH = 4 + BACKOFF_TIME_CRITICAL = 5 + TEMPERATURE_DEBUG = 6 + THERMAL_STATS = 1000 + OPTIMISATION_LIST = 1001 + THERMAL_THROTTLING_LEVEL = 1002 + +DeviceOption = EnumDeprecationHelper(mvncDeviceOption, {"THERMALSTATS": "THERMAL_STATS", + "OPTIMISATIONLIST": "OPTIMISATION_LIST"}) + + +class mvncGraphOption(Enum): + ITERATIONS = 0 + NETWORK_THROTTLE = 1 + DONT_BLOCK = 2 + TIME_TAKEN = 1000 + DEBUG_INFO = 1001 + +GraphOption = EnumDeprecationHelper(mvncGraphOption, {"DONTBLOCK": "DONT_BLOCK", + "TIMETAKEN": "TIME_TAKEN", + "DEBUGINFO": "DEBUG_INFO"}) + + +def EnumerateDevices(): + name = create_string_buffer(28) + i = 0 + devices = [] + while True: + if f.mvncGetDeviceName(i, name, 28) != 0: + break + devices.append(name.value.decode("utf-8")) + i = i + 1 + return devices + + +def SetGlobalOption(opt, data): + data = c_int(data) + status = f.mvncSetGlobalOption(opt.value, pointer(data), sizeof(data)) + if status != Status.OK.value: + raise Exception(Status(status)) + + +def GetGlobalOption(opt): + if opt == GlobalOption.LOG_LEVEL: + optsize = c_uint() + optvalue = c_uint() + status = f.mvncGetGlobalOption(opt.value, byref(optvalue), byref(optsize)) + if status != Status.OK.value: + raise Exception(Status(status)) + return optvalue.value + optsize = c_uint() + optdata = POINTER(c_byte)() + status = f.mvncGetDeviceOption(0, opt.value, byref(optdata), byref(optsize)) + if status != Status.OK.value: + raise Exception(Status(status)) + v = create_string_buffer(optsize.value) + memmove(v, optdata, optsize.value) + return v.raw + + +class Device: + def __init__(self, name): + self.handle = c_void_p() + self.name = name + + def OpenDevice(self): + status = f.mvncOpenDevice(bytes(bytearray(self.name, "utf-8")), byref(self.handle)) + if status != Status.OK.value: + raise Exception(Status(status)) + + def CloseDevice(self): + status = f.mvncCloseDevice(self.handle) + self.handle = c_void_p() + if status != Status.OK.value: + raise Exception(Status(status)) + + def SetDeviceOption(self, opt, data): + if opt == DeviceOption.TEMP_LIM_HIGHER or opt == DeviceOption.TEMP_LIM_LOWER: + data = c_float(data) + else: + data = c_int(data) + status = f.mvncSetDeviceOption(self.handle, opt.value, pointer(data), sizeof(data)) + if status != Status.OK.value: + raise Exception(Status(status)) + + def GetDeviceOption(self, opt): + if opt == DeviceOption.TEMP_LIM_HIGHER or opt == DeviceOption.TEMP_LIM_LOWER: + optdata = c_float() + elif (opt == DeviceOption.BACKOFF_TIME_NORMAL or opt == DeviceOption.BACKOFF_TIME_HIGH or + opt == DeviceOption.BACKOFF_TIME_CRITICAL or opt == DeviceOption.TEMPERATURE_DEBUG or + opt == DeviceOption.THERMAL_THROTTLING_LEVEL): + optdata = c_int() + else: + optdata = POINTER(c_byte)() + optsize = c_uint() + status = f.mvncGetDeviceOption(self.handle, opt.value, byref(optdata), byref(optsize)) + if status != Status.OK.value: + raise Exception(Status(status)) + if opt == DeviceOption.TEMP_LIM_HIGHER or opt == DeviceOption.TEMP_LIM_LOWER: + return optdata.value + elif (opt == DeviceOption.BACKOFF_TIME_NORMAL or opt == DeviceOption.BACKOFF_TIME_HIGH or + opt == DeviceOption.BACKOFF_TIME_CRITICAL or opt == DeviceOption.TEMPERATURE_DEBUG or + opt == DeviceOption.THERMAL_THROTTLING_LEVEL): + return optdata.value + v = create_string_buffer(optsize.value) + memmove(v, optdata, optsize.value) + if opt == DeviceOption.OPTIMISATION_LIST: + l = [] + for i in range(40): + if v.raw[i * 50] != 0: + ss = v.raw[i * 50:] + end = ss.find(0) + l.append(ss[0:end].decode()) + return l + if opt == DeviceOption.THERMAL_STATS: + return numpy.frombuffer(v.raw, dtype=numpy.float32) + return int.from_bytes(v.raw, byteorder='little') + + def AllocateGraph(self, graphfile): + hgraph = c_void_p() + status = f.mvncAllocateGraph(self.handle, byref(hgraph), graphfile, len(graphfile)) + if status != Status.OK.value: + raise Exception(Status(status)) + return Graph(hgraph) + + +class Graph: + def __init__(self, handle): + self.handle = handle + self.userobjs = {} + + def SetGraphOption(self, opt, data): + data = c_int(data) + status = f.mvncSetGraphOption(self.handle, opt.value, pointer(data), sizeof(data)) + if status != Status.OK.value: + raise Exception(Status(status)) + + def GetGraphOption(self, opt): + if opt == GraphOption.ITERATIONS or opt == GraphOption.NETWORK_THROTTLE or opt == GraphOption.DONT_BLOCK: + optdata = c_int() + else: + optdata = POINTER(c_byte)() + optsize = c_uint() + status = f.mvncGetGraphOption(self.handle, opt.value, byref(optdata), byref(optsize)) + if status != Status.OK.value: + raise Exception(Status(status)) + if opt == GraphOption.ITERATIONS or opt == GraphOption.NETWORK_THROTTLE or opt == GraphOption.DONT_BLOCK: + return optdata.value + v = create_string_buffer(optsize.value) + memmove(v, optdata, optsize.value) + if opt == GraphOption.TIME_TAKEN: + return numpy.frombuffer(v.raw, dtype=numpy.float32) + if opt == GraphOption.DEBUG_INFO: + return v.raw[0:v.raw.find(0)].decode() + return int.from_bytes(v.raw, byteorder='little') + + def DeallocateGraph(self): + status = f.mvncDeallocateGraph(self.handle) + self.handle = 0 + if status != Status.OK.value: + raise Exception(Status(status)) + + def LoadTensor(self, tensor, userobj): + tensor = tensor.tostring() + userobj = py_object(userobj) + key = c_long(addressof(userobj)) + self.userobjs[key.value] = userobj + status = f.mvncLoadTensor(self.handle, tensor, len(tensor), key) + if status == Status.BUSY.value: + return False + if status != Status.OK.value: + del self.userobjs[key.value] + raise Exception(Status(status)) + return True + + def GetResult(self): + tensor = c_void_p() + tensorlen = c_uint() + userobj = c_long() + status = f.mvncGetResult(self.handle, byref(tensor), byref(tensorlen), byref(userobj)) + if status == Status.NO_DATA.value: + return None, None + if status != Status.OK.value: + raise Exception(Status(status)) + v = create_string_buffer(tensorlen.value) + memmove(v, tensor, tensorlen.value) + tensor = numpy.frombuffer(v.raw, dtype=numpy.float16) + retuserobj = self.userobjs[userobj.value] + del self.userobjs[userobj.value] + return tensor, retuserobj.value diff --git a/api/src/97-usbboot.rules b/api/src/97-usbboot.rules new file mode 100644 index 0000000..3d11e4d --- /dev/null +++ b/api/src/97-usbboot.rules @@ -0,0 +1,3 @@ +SUBSYSTEM=="usb", ATTRS{idProduct}=="2150", ATTRS{idVendor}=="03e7", GROUP="users", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1" +SUBSYSTEM=="usb", ATTRS{idProduct}=="f63b", ATTRS{idVendor}=="040e", GROUP="users", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1" +SUBSYSTEM=="tty", ATTRS{idProduct}=="2150", ATTRS{idVendor}=="03e7", GROUP="users", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1" diff --git a/api/src/Makefile b/api/src/Makefile new file mode 100644 index 0000000..0c92879 --- /dev/null +++ b/api/src/Makefile @@ -0,0 +1,79 @@ +ARCH := $(shell uname -m) + +LIBS += -lpthread -lusb-1.0 -ldl + +OUT := libmvnc.so.0 +OBJDIR := obj-$(ARCH) +INSTALLDIR := ${DESTDIR}/usr/local +PYTHON3DIST := $(shell python3 -c "import site; print(site.getsitepackages()[0])") +PYTHON2DIST := $(shell python -c "import site; print(site.getsitepackages()[0])") + +SRCS := \ + usb_boot.c \ + usb_link_vsc.c \ + mvnc_api.c + +INCLUDES := \ + -I. \ + -I../include \ + -I$(SYSROOT)/usr/include/libusb-1.0 \ + +CFLAGS += -O2 -Wall -pthread -fPIC -MMD -MP +LDFLAGS += -shared + +OBJS := $(SRCS:%.c=$(OBJDIR)/%.o) +DEPS := $(OBJS:.o=.d) + +$(OBJDIR)/$(OUT): $(OBJS) + $(CC) $(LDFLAGS) $(OBJS) -o $@ $(LIBS) + ln -fs $(OBJDIR)/$(OUT) libmvnc.so + ln -fs $(OBJDIR)/$(OUT) $(OUT) + +$(OBJDIR)/%.o: %.c | $(OBJDIR) + $(CC) $(CFLAGS) $(INCLUDES) -c $< -o $@ + +$(OBJDIR): + @mkdir $@ + +-include $(DEPS) + +basicinstall: $(OBJDIR)/$(OUT) + mkdir -p $(INSTALLDIR)/include/ + mkdir -p $(INSTALLDIR)/lib/ + cp $(OBJDIR)/$(OUT) $(INSTALLDIR)/lib/ + ln -fs libmvnc.so.0 $(INSTALLDIR)/lib/libmvnc.so + cp ../include/*.h $(INSTALLDIR)/include/ + mkdir -p $(INSTALLDIR)/lib/mvnc + cp mvnc/MvNCAPI.mvcmd $(INSTALLDIR)/lib/mvnc/ + mkdir -p ${DESTDIR}/etc/udev/rules.d/ + cp 97-usbboot.rules ${DESTDIR}/etc/udev/rules.d/ + +pythoninstall: + mkdir -p ${DESTDIR}$(PYTHON3DIST) + mkdir -p ${DESTDIR}$(PYTHON2DIST) + cp -r ../python/mvnc ${DESTDIR}$(PYTHON3DIST)/ + cp -r ../python/mvnc ${DESTDIR}$(PYTHON2DIST)/ + +postinstall: + udevadm control --reload-rules + udevadm trigger + ldconfig + +install: basicinstall pythoninstall postinstall + +uninstall: + rm -f $(INSTALLDIR)/lib/libmvnc.so.0 + rm -f $(INSTALLDIR)/lib/libmvnc.so + rm -f $(INSTALLDIR)/include/mvnc.h + rm -f $(INSTALLDIR)/include/mvnc_deprecated.h + rm -f $(INSTALLDIR)/lib/mvnc/MvNCAPI.mvcmd + rm -rf $(INSTALLDIR)/lib/mvnc + rm -rf ${DESTDIR}$(PYTHON3DIST)/mvnc + rm -rf ${DESTDIR}$(PYTHON2DIST)/mvnc + rm -f ${DESTDIR}/etc/udev/rules.d/97-usbboot.rules + +clean: + rm -f $(OUT) + rm -f $(OBJS) + rm -rf $(OBJDIR) + rm -f libmvnc.so diff --git a/api/src/Makefile.rpi b/api/src/Makefile.rpi new file mode 100644 index 0000000..6cf9012 --- /dev/null +++ b/api/src/Makefile.rpi @@ -0,0 +1,43 @@ +ARCH := armv7l + +PIROOT := $(shell echo $(HOME))/piroot +CC := arm-linux-gnueabihf-gcc --sysroot=$(PIROOT) +LIBS += -ludev -lpthread -lusb-1.0 -ldl + +OUT := libmvnc.so.0 +OBJDIR := obj-$(ARCH) +INSTALLDIR := ${DESTDIR}/usr/local +PYTHON3DIST := $(shell python3 -c "import site; print(site.getsitepackages()[0])") +PYTHON2DIST := $(shell python -c "import site; print(site.getsitepackages()[0])") + +SRCS := \ + usb_boot.c \ + usb_link_vsc.c \ + mvnc_api.c + +INCLUDES := \ + -I. \ + -I../include \ + -I$(SYSROOT)/usr/include/libusb-1.0 \ + +CFLAGS += -O2 -Wall -pthread -fPIC -MMD -MP +LDFLAGS += -shared + +OBJS := $(SRCS:%.c=$(OBJDIR)/%.o) +DEPS := $(OBJS:.o=.d) + +$(OBJDIR)/$(OUT): $(OBJS) + $(CC) $(LDFLAGS) $(OBJS) -o $@ $(LIBS) + +$(OBJDIR)/%.o: %.c | $(OBJDIR) + $(CC) $(CFLAGS) $(INCLUDES) -c $< -o $@ + +$(OBJDIR): + @mkdir $@ + +-include $(DEPS) + +clean: + rm -f $(OUT) + rm -f $(OBJS) + rm -rf $(OBJDIR) diff --git a/api/src/USBLinkDefines.h b/api/src/USBLinkDefines.h new file mode 100644 index 0000000..4ec8cad --- /dev/null +++ b/api/src/USBLinkDefines.h @@ -0,0 +1,65 @@ +/* +* Copyright 2017 Intel Corporation. +* The source code, information and material ("Material") contained herein is +* owned by Intel Corporation or its suppliers or licensors, and title to such +* Material remains with Intel Corporation or its suppliers or licensors. +* The Material contains proprietary information of Intel or its suppliers and +* licensors. The Material is protected by worldwide copyright laws and treaty +* provisions. +* No part of the Material may be used, copied, reproduced, modified, published, +* uploaded, posted, transmitted, distributed or disclosed in any way without +* Intel's prior express written permission. No license under any patent, +* copyright or other intellectual property rights in the Material is granted to +* or conferred upon you, either expressly, by implication, inducement, estoppel +* or otherwise. +* Any license under such intellectual property rights must be express and +* approved by Intel in writing. +*/ + +#ifndef _USBLINKCOMMONDEFINES_H +#define _USBLINKCOMMONDEFINES_H +#include + +#ifdef __cplusplus +extern "C" { +#endif +#define MAX_NAME_LENGTH 52 +// Packet length will define the maximum message length between pc and myriad. All bigger messages than this number will be split in multiple messages +#define PACKET_LENGTH (64*1024) + +typedef struct bufferEntryDesc_t { + char name[MAX_NAME_LENGTH]; + uint8_t *data; + uint32_t length; +} bufferEntryDesc_t; + +typedef enum { + USB_LINK_GET_MYRIAD_STATUS = 0, + USB_LINK_RESET_REQUEST, + USB_LINK_HOST_SET_DATA, + USB_LINK_HOST_GET_DATA +} hostcommands_t; + +typedef enum { + MYRIAD_NOT_INIT = 0, + MYRIAD_INITIALIZED = 0x11, + MYRIAD_WAITING = 0x22, + MYRIAD_RUNNING = 0x33, + MYRIAD_FINISHED = 0x44, + MYRIAD_PENDING = 0x55, +} myriadStatus_t; + +typedef struct usbHeader_t { + uint8_t cmd; + uint8_t hostready; + uint16_t reserved; + uint32_t dataLength; + uint32_t offset; + char name[MAX_NAME_LENGTH]; +} usbHeader_t; + +#ifdef __cplusplus +} +#endif +#endif +/* end of include file */ diff --git a/api/src/common.h b/api/src/common.h new file mode 100644 index 0000000..cfb9157 --- /dev/null +++ b/api/src/common.h @@ -0,0 +1,34 @@ +/* +* Copyright 2017 Intel Corporation. +* The source code, information and material ("Material") contained herein is +* owned by Intel Corporation or its suppliers or licensors, and title to such +* Material remains with Intel Corporation or its suppliers or licensors. +* The Material contains proprietary information of Intel or its suppliers and +* licensors. The Material is protected by worldwide copyright laws and treaty +* provisions. +* No part of the Material may be used, copied, reproduced, modified, published, +* uploaded, posted, transmitted, distributed or disclosed in any way without +* Intel's prior express written permission. No license under any patent, +* copyright or other intellectual property rights in the Material is granted to +* or conferred upon you, either expressly, by implication, inducement, estoppel +* or otherwise. +* Any license under such intellectual property rights must be express and +* approved by Intel in writing. +*/ + +// Common logging macros +#define PRINT_DEBUG(...) {if (mvnc_loglevel > 1) fprintf(__VA_ARGS__);} +#define PRINT_DEBUG_F(...) {if (mvnc_loglevel > 1) \ + { fprintf(__VA_ARGS__); fflush(stderr); } }\ + +#define PRINT_INFO(...) {if (mvnc_loglevel > 0) fprintf(__VA_ARGS__);} +#define PRINT_INFO_F(...) {if (mvnc_loglevel > 0) \ + { fprintf(__VA_ARGS__); fflush(stderr); } }\ + +#define PRINT(...) fprintf(stderr,__VA_ARGS__) + +// Common defines +#define DEFAULT_VID 0x03E7 +#define DEFAULT_PID 0x2150 // Myriad2v2 ROM +#define DEFAULT_OPEN_VID 0x040e +#define DEFAULT_OPEN_PID 0xf63b // Once opened in VSC mode, VID/PID change diff --git a/api/src/mvnc/MvNCAPI.mvcmd b/api/src/mvnc/MvNCAPI.mvcmd new file mode 100644 index 0000000000000000000000000000000000000000..c36b30b9b00590ff1122172632d129e9f27307ed GIT binary patch literal 813376 zcmeFae|%KcnLqyAJ9mC0gvrg2ga83e6nP4k3UR#Vn*G5P=6-}m46{u}zI zOPZSSWXsl(gE6eX%N_;BQTvIKrgtO{3VHF^Zw!?jcqHq=i%|8dM`kAexP$B`7c@Wi zAGh&ge|Fn;{<5VdP5OVj$n2Xt&-%+pI{W!^eOIIWU_5r)SxuSA59>Sru#-lQ9!+jH zOJM%x=c7}X`G+J6FxtwoUM$Bn>eHC?8YIb{0!hvcL?SM!a54OOOv)aj zLR;uP&CGB}$#BUvnk->@VISCEkvH`u}eBp&tp@b!IIlE zBG1ap!`yg^RJ)`iIXyWx<>9#-Y*QtrpuB}wO3I!gHib52Php9j=a5{U;XRfDf6H zEc}gdX5ReYwg8bjkBr$1iK6p}T0zJ0-iGJ%^NDtYek?$-Z!Ne|ryqGlM)Tx(9_m*Y z&}n}?e8>WN-roxP-yO*hqR)&8jrllix(re3@Crn*npd~)e5 zZT>Ac&0A__U+2I6I<8hd>xLP#uD@QJ=&$zswe_o3&*J}lY07Qzt6!S3`U`NgUuax^ z`^Hsx-TtK&4R@^i0{rcY4Y#jbqs_RXVfD(HD`w7Iv3lx?mD3wnG~DQ~o__u6sWQ>;JdHGdgf{n7u0ZT}zr!J7R4`e()<8&+-FV9g8S z5GrY^AL7u|Fj09@!CTSFlM>z@yz}r3ag{o1SAgz)A*6y<5B}ym4>?FDO+D}e(U7?- zd|`=p8g4RXpkB*{gYKxl!q@T!%78w=Jd|zyw?U*E$m6FU>CxqCi-%$cX~8%JziY^v z7wTrnisp*{26ed|Pw$}+QD0~q`Xt?(l!7s11R3R!Y4#8@hRdLfT%|Lq%$-c%6Ei$y z_%Jl-U(@M(_!fyZ;KNaQ?kl`92L2Co9V-X}BVhJwesaT9olV;PY-ZF$aY#i<|k7RbtFFHA;yg;jye!y88GAP3~d3gXa)*Vm5Hr zsmG^PZ#C;^xzQN(0sI0FbPMBXeKn7C%u}0HHkmy~+DhoQt|e@2c;3KkM!iS{=V9*9 zezz3cY+Ozslo>y}EcfHlTuFkC#he6@|)#Q&#ZeVcoh~;wRpE#JWDpS+{!GTU2eI> zTMSu7p)OCibHLXj59hgiCp==eF`x4j zzBYT#3(yAZ1LKJKY~lX6|Cv@h(~vg}LIS7-|Hwlw#UpR5c?#U=LW2KW6D3 z>wg^fyaakenr@bxZRYibxXr?#8a7}nf>_7dZG@2LvDOm$!y3!j8cCC3r?Hl?KDi&X zZ|YcKaA*`d(0T^8p69`$TbTDd@OZtdD8o4N`1`DK%wyb`_Z#r=zN#G4zvBAAp$ABJ z!zY;Q*2nTGSl5gj8FZLfR*lC%{llnWPl=(%ZR}W1*sJJtA|3L?r{T?hhUO@a1sFf5 z?!~qFj*-AuGD^a{rp)nbdX&o)0zZ^Vjtu(mg_R1kA99jWg8tZtI6GkPB*W9gb<&o- zI%DB~d9EB~o}}%BVb0WHxg@P`E03Eh)V5hNTF3ZbmdtmYWWwI=o9w4#?*FVMBf?{c zWNbG2(+7QI+O3Sgf{N+5%2V=fn)3EuYSts%^W{)@l&TG%&_Z}SG-E(kmcOTv-@b1Suf%kd5QMUgu z(mjX~5(nKapURR$SQcBaSmy}i0j@I7Cu6tW z8b9m11NdKH|B5nP$3uOly?{)!<12=SvEy|1V%?MmwS*GXx(o5-;qic0@oYxlC3v6B z&B%cE!|@g427Eowceb7dt@UQ>7|-#ntoitB=CPZ{ZRx8$k33#Wr~BW`>WghW{6+WZ zp#Od;R&}2gthyJr8S!8x_?6vueFODb$5^hHvg)&*_gZ?6@kINOHv7lA;kjnpO_~v6 zdF-ce%=!rM>H$8f(jb}f3hTLeL+F`mICO&XpVcoyKf4Ud5*hG##X`n-~+ zJMc8)c?{29JPAC@An(b!u5dc&3Bx%URj^$c|3#U{hxL^Qe<2y@TThs>VO$p<%^DYv zdnD$Z`Okg?{|}claXZghcKN{{Ql7EkHNfkH)4UeA?ayS^ObhGouVEYB#M}Yr)?XjY zPr4!ZjgXsVmLc=Ih;t!xHyMdgMt8;}k7dbl9ok|&;W>IYi$BidqhF^f!wyph=YG7o zEcCynHcMx)XBlW`S5`YkS^QG0mtk0IyRyd0>)-BwaTXu;V1U0oi_c}*F0##J+sV4L z-_oVSrmdU{+TFr9Y0 zOqUC|EwpRf0K{wY89S z#`NuUjN7T?n8lKp`^R&D`@bJ^3_ILPT1y;zC?EUWdfR6sZs74 zooyy;cvJ!nd(3nT?5PSK$MG$WU~Y>8wzQkalx2re?kX&}zuF-DGV3-~c2Bd?3ha+R zsG4yT>LWI&Ome$DXb*C?>NwVtOgXRERh|nj^W99J94E~72Z!Q(z}3xd5aP^Q(9<{` zBk(}~A4|tMKEr;#`|>@WuoUxPt#RCRrESJA%Jv)>enlk*?<1V(AN{rB%$u=jb88c} zV*hOJ5x7@l0JoJZS6TZ!z{pj1}>*vjlbyxF)T*Qw9cmevSM|Wqn&Y zepXEUG;Ns&TMIk6ds6o#Cz=BqU3zmH-u17{sR z32*3-Ij0U_=>T2Hx`lS_xprU=i@m)M^9`IcGLGajrv2v_opsdkeg2wu3axe!7jpY4 zNAG5X_q%pGa&WU@?{`g|Lfpu4=YLrHWuA}XOPR5ndS&emPWVciE?G~X_3p>}yp`ts zUMroQk3CHHrGwO*hcP-cF>)AjwIhLeT-H7CqjLBA$RCV+?CVNo_*unO>RxtIjmQb; zJnT7-8MaK-fCbx29dERy8hG=X0>+g4aqzktoPk`H{;oYrvpzn9xl^s zy)WVI2<|jK2CQ)QlYAe0fx$s@?_L6Voa|?mjE@=ci<8hdFbYq=8~fof{HW@}8*{0e z=OSpw70m28a5fg!;crJH&l4o9xew-HKGmF$$b)TBbFDnjHErf1FYhDr7#}b4pf6#@ z+5?=Ykx``vui)jtIAODVe2&I)NqA3$@8GeGM}4mAL_Ws~$nSQ6CxeGM@wqIX1GF5A z8PHL)o;?@bF8gY3*I~(x^NcXofy$V28y+iP$r{%mVP|+;PROp{ti;3%G|R+tVq9iF zjJHIvf0mx|o;b5^sauB4Ksgy}EbPW(%fzJ%*3|n_zJDZi*kHE#XOeBi9UM3 zN4oV9ZUcGzfZs9~c`X^*fIANn9tF{84qwC^I89yZ`077 zt7z7T?0l|^v9$TX$6mYDu4nV}z{flmUCU?v)gS}cwdNs=^kyZvi}haaagYp z3|Rt^^g$zsufoz1%pS&53{!;H$k zE}SMxvG*RfVxQROWA2l~sGZLqilL9J^UWiS7{>$Cffw6RoauQFv%g5+<4HL(=R-2v zzH`tu3FEQOF`8LN3V=1!lBUG2t#=;r1lQv_Bhd%wN^YOa{u*r!!nYw?2Tl2Ad8Wq7 zio-;HC$LM&3AMSStT;}HLB9e!3Y)eEI=J^G7tS-N?-8z33mxF|e9Ub*`=eVBpYq(w z6f^id)Qly9RrjMpj_DT?98;)~OpK+aI0g#_frFtX&`$#O&GwvVuU>QYEW?92#*u~V z;^*l^sBVGZn$g3o)F=8NfjRBg(0j7=kO@DR>xb*(3RUKj@+ zH~VRBhjdqx$I3AS~6D&dOh;eiy4rt~!JwcSinbbQwRkNMFpcmi@)5B$%cK3sJT6v8tpdZK^T%O6h z4fK+jx_M*_Z9xWn>x?j54HV><7l2g_*>A34egk3ZN~*A_98)Pe;X46r z7qQ+4!Q)wN_(Fr(YBMY4vmuutUgdGNcb&mgXq6Q(^Y#5cTf0UoZ$ z<+!c_9c$$JSSS4Ee(qpe(_@)F^{_*mv_qo8*lkum^1|$^(avn<^FH(VTyl=)Hg&BR zd(1FwPz&re>s`A;A} zoes1yZz%Fmr*%8mK_2t+Egr6-4e+>Ktm76K7oEpc!0S7M)kROxeO?K=FJ7MOM*rV3 zWf@8Gf%lol*da>+k3CxEGskj|)rJ%_%lh8G$K7@b56jGBVi|1QHlQrmoM+jJ>z?YPBn|yA`=lHPi zh)GRvX#oLg@<9Xq_cV+S5FHGJSvv{@*T?HQZ&+XY`4_f7Lp18k=Xg1sQ z&#V~Q#&UladFZ3n=5c@Z77yo?`?(C~ahVCI`w8UjZW!8T@yxhqvBkr;n>d%Z#@reJ z-yR#U89c2Y%i=Kx%$oro-loj3fhOa+k@zm@Y4MW2|pU=5C<3qdWfL^Sr&CpBJ zUM^x?fc~&=KZ|&W_tf7)Sy?yNRbdKudNk-We7q?a@27b^GH(sa*?cY!U#2itJa=bt zYlr&>KG9!7M%a6fWm=kX-+|}hUB1IS0SBcw4~ZvW&yYES`<)ud;YHt|zj1 ze1C)M{?g(pD>LnJzeg>e2Rzmj<{hzkc~&{D+nvR;`#qS&v->@e#k2eEvUtr|{l+cc z=B$3dXYsaV^}8#JXZO1!i)Z)ySQgLj_YsSSyAU%OKSj%6z18A-GPF77Efy~iJR9r# zvv_vj;Vhor_y4hYcE3E2o516?yx1Rrj^^PFU5Mu54LqYByrDPI+k%5A zea3w?c&uM{AU@k*m1SGo1RDLfb|8=G&vRYq?Ix=X=lu zD#w2RZtz(TxGcv2&|x39@fkexQI2&OKB|SwahZ=>buHSgH`D6FZjbTIZm$Dv?Zz_& z0!^^N`~*c&Izm7o74VNgsNk zSpz=$(5RvDy%?>>6^8o`~UM?#%>_aIOpgc6&?n8Ij-Lfo4{wavJQVr3cdd^}6fXM+0|rUa*(NI9j)1KK~hGLA^FkgV)0R6nG8|F)iXJj+=0v zSk3blMVa9!!x;VqWe{t(+4IQX@YtT(aU<`=d5o;nT#vDfqYjUg`x$&Ze@NDS z(BE?G(=+$nI9B30WgW=F9J2kIZT6$Kl?I1Kh*SsR+Y^5m<9noBc7f(PJ_lvr;1~?` z7K5hPPGbz>XqNfM@N;}u8MdN@(`<*>S8};I@CnTSMHbEZ|7_7ew(<{U(VYK+MZ*V} zdn)e#r*<1ibD0Ac%`#v-CTZz?U|_yfAz z^6!Y_p}Vca|1*=%@iorTt35$i@`G{vX2WUa-I2jBYL>%VyHmZG2|42y(z? zL{liwvONJg7&pcd?-m34k9K&SoAeHhg=ubwG2r#Z<#B%9V|^zoXWGSkQuM>=7coZE z8Th`GIa6vo0C{A-qoqq&C#L;tiDQrEqhRK|pKUw70Y&$cX`5P1Ux79ebGHJkw(1N& zUTM|0F#(>YLxGpu)ZMHj{XX1jHhJ;WYj^w3Ys*X?^-!u-$5_o_X00* zY>a)Z^TZ0ec-u~TiSISw9>FiGYIbg|8Xntv9%XJCKKYZ?M`PX3e#Eck2J*TrV;E z|8LAS#?5!ISr36(H!ySXoHjRnKuT_r%ZlEA68p-`Ze%yF1#N%pK;H2cr^1ZUq2w}`3DTx z4oP<(Sb=*`PvCrx^?3>zp38jCH3<1}4+h`OL>6hctUe@|dIoRgV6`O-PaT$9CQ)cTfv;-TAI96uefRD|ULGw2!rfnO^ zv66zleXfpu5YoAN72f5?v+}z~$IN>QCF!~5cL&5zRp$No9KGuPL9qY)y91;j$}ynF zRDNur?w{}lJcqz(cKk-aTUjx*`HfyR(i)?rLys9#A)}1B`pWlibbcS_b9}}C8BMu= zrN9$F{o_Bj}y3ioXFfg#@(lD?sY5pE~KoW?$%y9%;V*;^7m5g1AUnPFpnGUZI8z2#9$p~lkl^727Dp%h-R5S zP9inRciz~C^}~0=|9|A2x8I-)`**DWzv|9g%!;E*s4h;V|G>UK!gnEYAMZZN(6HB} zsDsbAamM%uo&%gQ#t%9klkq!{TVi7px5OMt4{*btb~w)y(-OWfArITwgMQYH+L+@p z_Sb*v_Y~|u`ZC|IOn=Vt!&@^-nmjXcw*+q$Z=94jDVTqJPcMOtTfLaiIOYK|ChfZ< z+z;PhBE38bTV>wsK^UH-xgOrbsQA8%qYgu5z0m!64qgj7mq)#`Ry|vvgTNnh4e189 z9XM0{ICOCiVkY*d!*tqHqPzAW{exkKdr$X0t|S?inAcrqoWp%XC-MEU67kI;+*9id zC2$5nI=%Jfw~?S2SltFT5s*!JAB+%~rhKX101wAxiL7IPg2 zaoz}=pr0*#b^)1MB=CTvk9jOlI+%L^{q-QWY#mV$%j}Y-Ry+ot7@iJ1d-433X<#8k9^R+(ytb=6F`&x!9PPQ=RCqn6+uGk%S^g3jGo(Ob;< z?^b2r?`fHL_fTW-fsuy)z({)Vz;VmoqSsUj>^pQKr3BSTKd*@d+QvBG3scZR=-Rk$ zM-b;XGL0Kb#m^K|@zd!k`F#GqbBO+}UDy-K8c`YVhgeq_zebD^%2Y%NR}$md$+0_^ z;q`&{_(J_#9j5Ps&qaBRL329v!ksd{5A!_|@c3Sg%x_-Hiy;^E4(o`{aUUZne;>|x zTCLa&^GFkm^l$CvGa4oMt@cctsx#kDMRvQ{^37rSp7gbHS(YE=qckRCn?J0)ALW~L z^IN?+#sX5?CW5Cz243e?LF??@(B9h%eSa6Yy^Hl&0Y1fc8QAx{i}Co<4suVzSkk{i zU$6}heD5m3*~0tgZ)mXp%Z$C{NwmTHT2n5Jm;1}N`ePn2HF4fWumbRV6nu*J*%-%D z2J48h_>@yT8wy4RG=aGm)W+WZE$2^-3Jynn_Vwtdy&oz-yuXH=dc zg{KSozG? z(2i|~?KR4Lx-_?d=NKb5_qravD$4e3HrItc`oM1m!87aQcRc-=V=hCGlYbkCJEk(z zx5}imoQ3eil9oH*Gyc?moc*@#vvc4hfJX_p^-(^XeJtxv6XSze5qtdm+%Zox=@YtD zq|^U|v{BxjzAJNomJ;RWIgn{Hc&xgA;J4gYeAyL$gE?!#e6;H2BMzK|orQf%+Iwbu{>(ilehUHr*jj>fHT-_0ztTFB!FiymC*`0a zH)80FpXWL~4$2vagYh$$<_;O`pn~6~=Z**16Bk{aTejaxV4>U>B;x!BMXvJD(2RndbN@Do@2e!1$C)>hru@kCL)XmRNZJ^NUEns& zxOK1{Z@?A}rYm=Yt##qB*80HjT8gnwF&AN8*EqY6{t;{ZJ*@9sf(_No_3Y#L?T-iZ zyIJ1}bINO+bqC{OKOc5-|9GPe?;%tP81VQc$ijB>kYzXd4nJ&w53#&+P7MAtL5Fqz zZ4*7f82R)V-+Rm4)g#15QUd*%=Z%?l%Jz`$+q7WDHe2VeKHj^qO=Ni_Kw~B=}~|$2n}6E`!dzomdOayl>6;dYp|}*zj1OcRr38VE0@lYbK>bJ^_Q`r>yLDf}+vgeNF>=LO~0Wcu4}4*hSp4<^TU{B9h- zAD2(aiP~l&{eHytuQ+r^L?2XSv5_~2exLd|0ct7<9@bA#vc;9HO4JkPHep!e8qws!*9yq|`4Do0lPt{1MZFL$;Idcx^EBtOUAh%8q}Fz@a^0ej709 z1ii*@M{v+~NAO95&*MQy25D1))znAt>Gec7PlBx&jBi#hZR!J3Z`J*ywVch8CT(UN zP>f~GTnD;>Slm3Pz&zm00@yK5th;_oclmex?301z=Jb>B%dwc@#du^=x2IQn!i+J0 zXJ8)cZfBiQVc&3m(~UmD3PCpX$ucv|LoK|Ax2~VutjG6L~WYnx`)fI7%3qCtv!EaG1lPe{X>`B6&aj4( zW{jlChtpGXHmlnB2iPttT5i$}IZ9!dS+AJa6dckF?8CsIt)KM_`%x(|;eK9gc?r)p z2R+F)uUdj{z;C4PmlJeM(JkF&|EoKW<>?c)kv;}%Q#+35FqhSU_wV6H%(j4&X}3x4 z#yC=Pg4f=aZ!0_}r1hAw8?P0XCs#M;tC(p?&+V3ILO1`$gxj{yOL)EV85)!4XgPP?;Y%k8Bt7U?HK>X`u%+UV`{kukQ`XHwx zZ!q3?vt4J}TqoD~Z;Cas?YL^}N@8QPV$>cOnW)5G|C&7dN<>N2?i)el_8mg|jLmS0 zHRH}}_$km13PwsWUOo$c9P}`ZdkpLbzFF^u40~VXIvAInnEr#|`jj6HPfY&da2o%B zLmzrTrW@~*6UDfLc6Fa4ji$&*?$glrp>Nm{9p%gze**rcRQw)l%5#hX)^#rPW0^jh z(Lb;GW-jxn#d{iW$P(X;H*k(a&j$WfDI^h)A&Q*6S<8Gt}ibb7|UUz zU%mLF-2=2p2m}NI0s(=5KtLcM5D*9m1Ox&C0fB%(Kp-Fx5C{ka1Ofs9fq+0jARrJB z2nYlO0s;YnfIvVXAP^7;2m}NI0s(=5KtLcM5D*9m1Ox&C0fB%(Kp-Fx5C{ka1Ofs9 zfq+0jARrJB2nYlO0s;YnfIvVXAP^7;2m}NI0s(=5KtLcM5D*9m1Ox&C0fB%(Kp-Fx z5C{ka1Ofs9fq+0jARrJB2nYlO0s;YnfIvVXAP^7;2m}NI0s(=5KtLcM5D*9m1Ox&C z0fB%(Kp-Fx5C{ka1Ofs9fq+0jARrJB2nYlO0s;YnfIvVXAP^7;2m}NI0s(=5KtLcM z5D*9m1Ox&C0fB%(Kp-Fx5C{ka1Ofs9fq+0jARrJB2nYlO0s;YnfIvVXAP^7;2m}NI z0s(=5KtLcM5D*9m1Ox&C0fB%(Kp-Fx5C{ka1Ofs9fq+0jARrJB2nYlO0s;YnfIvVX zAP^7;2m}NI0s(=5K;VB7fd$u>7YuZFnCMq8{%H3AEfN9&fq+0jARrJB2nYlO0s;Yn zfIvVXAP^7;2m}NI0s(=5KtLcM5D*9m1Ox&C0fB%(Kp-Fx5C{ka1Ofs9fq+0jARrJB z2nYlO0s;YnfIvVXAP^7;2m}NI0s(=5KtLcM5D*9m1Ox&C0fB%(Kp-Fx5C{ka1Ofs9 zfq+0jARrJB2nYlO0s;YnfIvVXAP^7;2m}NI0s(=5KtLcM5D*9m1Ox&C0fB%(Kp-Fx z5C{ka1Ofs9fq+0jARrJB2nYlO0s;YnfIvVXAP^7;2m}NI0s(=5KtLcM5D*9m1Ox&C z0fB%(Kp-Fx5C{ka1Ofs9fq+0jARrJB2nYlO0s;YnfIvVXAP^7;2m}NI0s(=5KtLcM z5D*9m1Ox&C0fB%(Kp-Fx5C{ka1Ofs9fq+0jARrJB2nYlO0s;YnfIvVXAP^7;2m}NI z0s(=5KtLcM5D*9m1Ox&C0fB%(Kp-Fx5C{ka1Ofs9fq+0jARrL{5W|iBHbm-fCPZVtb z-+Q7~f9tJx&!6evE_bbr%>Nt6J@xS`57YLO&HwMDTeI5zsQL|7|MjuHC+>T+?+K>u zhwCu!+Pe2Y-1h|S=zC)8&MSGHPiE43`xTzL3+0IB{>zKEd@T20pPYS{&oOK04?i{I z>7RXf`cH0j-SF_iTd$w@r7x{ozv1?~)@iF(+aGaM!w3^i8d) z?}-^&XYPygAQ}~@pYQ6-T}((`xOKin#ep2UP#Gwo>49N%VPT+*ZVim53#$WDX=7j} zU5EtcQCpyfF6;_?iuMIQOBYgs74%BrcDisX@b`2s@Kw6tnjfO#`46C-`CDoF{BNV3 z`8&uJ=tMj7pQVlSpF=zIpQpC@N6^mvmuTPoSJBS=H|dr6Z`1Nir{;uR3D*u*Iir!vHa zb4Z^)N0nuU;VGv=PSPx>oO*DXLu!%Ylbv6+I5wMAB5Y;wO z4x-#9d?0)_A%l=@;tb~X4CXa69uOyO;uwfyHjxC8w23_+_SnQu5Ib$61w@NYgh7OD zVm*lUHqij0!6xcJ)Y(J;M8GDhK~&pBIf!zb@PY8zgbYG9iA1sv%l|?-mVPxa{Q#DJ z9WVU`EdBMo^ut*CExh!1V(IVUrJuyoKgLV{B$oaeUivbYzK@rFIhKAkFZ}?PzRXL% z0ZV^9Fa0oJbLFtG^!#Jr#s-%<`Mr7C%p4-uF;C-I7itd!8zFops0~&}bb|O?!i@CfeYtP2Ex% zTHZH{@&kEv%kX=jo-tPWmzm2u=F|DWX*%7mygRe(tzgo#{M|@H4oz^-n5}6HA{5P4 zx=xThQFot<`lLiOOw)vPI-))1 zd8gVzzlo;bYRap)y_l%0k6aV=q-$jXoon(+2{r6Vy<3XLuJ6~XRiYh^6qPvwM(vfx z`oANm=qHZkxrSksJk?M}$z2WODfvpnR7&n^m`TZ0!#uj!)=)!B%U?)F8di`yHF?68 zca}J4{?>FT=2N=fGNtdlIZaC-oqv~tVV#Q=X1c#+{J>afyfdYDIs!4wQ%e7t!f=NQ z#}f3RIk|In8P(2RKT4ddUr7Lp2(szSQH0)NYni^Dm`CS}t`xotAIb-DV3F zWhtY|S>xwLR3}lSDbG32PhB07ycQ)U8k;6)Ws^^|YsM#KqgAdso9pVFNTViTRVKE{ zf!bSKwKc6vT!APjpslr?HyfLl7!a$@^}rI6v1XNIt2u-v7{a3%!lM|%TDPeM?G+dX zjjH3;N}Pch8Zp(Rrs6ZM8rB!?Ko8Xy(*LXzQ!_f3Hj;B@Uj;&1qH~6Cu^ac+qKDcVDGpW+obnazi_z1hwx3@@eV#$nF-2YR4<7 zTP8RowNEMYqSUpFJR@`y8no74=Q3Mk2*ND`Z6;ezLFYrQD!o&ePmcG~A)`>~y5wXV zF^{CKR^^KA3A$>GpsV(sS$QU%syaSe~WQXIasZVcvY)C=%yTf+8 zaIDM|+Tf*kCiGKp>3NJ){^^11>3lVO<=E2Gni44}bHF?Wb7=S#^W^$#%@bP`?I(`Z z(P3MbpNE}WzgnUfV55S$6}Q9CTQ=%k5H>29moXAAvZ_w(*CxP5mBB{skTW)FOq$BE zD0+s$M$L32PX%G4UJ0^|3c^OEg0N8=gRoKif^4ILH8h!RRFG|y_fOd<^)Iwh&u46u zG8U#K#~%*EO(AXiuYK?xZ&l0=-tChpS^o9$FkUb-9W;1^KY0r7qx0YTo_KA;A513} z3?H5E`}$NwB+w*_|C_!iPHy-^C_ax3;W_rh5UDdup2sL>HoWj`(+mG8 zu`nB7ht>X{iWP`8x=ho5w`prKONfp89Gk}2nZ879i;zDoL;sjOYxT}gmu#wo9erjL z)t7rtJw8e<40ujGI7(@4@PwWj<@)Nm3YE?_5)6&CaCxF`GrbHP&yiC=!JMT;^P)2n zhXYu^7HSz!@@msc?M4|9Si?$<8pinPLfuN8>c-R}gjyM-z?dewP`%Qi>M>D7S1V&w zJ|<2Vd@B>=8`FcpYh^FVWBTcA)0F>6pZV-y>1^;iD^WYqO6cRQgnyis(8gK`b&Qpu zvP@#0cgMV?ozKfG|s4{zN+4^!vZN?7QXP2cHf8&Pvq&hn3LZ zwi5o|S_$pnt%Uj;D?x8&60a(&g0(#0;#C?IkM(1_xJswWv9)wz`l=vJAKQd|<0^v| zj*ZfVTUW*C*0FJHAXg=5_1GS|uyIu{Z5-Q=H6zus+Ckqo1Lk2Fn47j9oqq<-{!Ed7 zdEY;z)89l)71**o?gH+0OLBleX4k@hGgqfjMG^7z$K>H7RBr6;CAstpieKPH+fKPD z{0@52pYjHx$Dm13y{jkfT&t&I|7Dmn>yIotqxwU~%V=_6d$~4@{JrUXZ%0Lu|3Z4o z1$gvWg_Q4)A48M(cO^MN;VaSn6o6h)Y+? zY*K1?3Dk;R+B6DqtjU!Zoz9LUGlR3nmzw{6I@xmE0mX*+ubblQod%ox^DGjF3Mp-; z5-@r&LPPJ0Q4Yc+{X0rc^HCQm%*v@u=UT?vWz#LK%;9UM+PkFokzqP9LfusWwzmKs<_WnMYAKmqJuT zUG*eQtUWYI9^`LSii{kIr8ALDAiN#roYzEMTO@eO_6>P486&5sIC71qq}`6x3zVK0 zq^`Hp6W50RW|VZ{T&+guR6o6Xwl1FLu`7X za!nZ(ubB$*`<|$yKU{FFnMb?e@{TTPxtzwHp~zeZ1J#CW7q}YNGHcxMhYMW$gEg$q z@#=KYD1cD2Kyn?KKCgf}Z>CX8N-3ay8X*zZh8agVuat+F&E9TJV$1f84%Wd^8j-KY zWA%~oYFw%f2i&y012%JshiXSDllz(qp%rS&Oje9wxrT}T#mt|X6Kh7UuQXAjBB!Hb zNZb|imnrQ=VOasuGe?@J&hx2vLyam{ff{$ggCjmZpDrs`b`MWG)E#oW;fg`szJKPi zA2@fHBNlqh5o+={ZJE|S8mr&u>gqN_qU&i?b%nXiZ()7UI6|mx3z7S3n`}}kZKP7O z;TBitY#KGokEn2ICOHXcEOi}S!t5$KUCMhsvy5hzITAsj&Uj&)*K8w}g)hU#5ZfYV zU`vhrzXw}>;o&CQoTuHV{w()@1Y0}9#5!vLKNF`#PRhWRi6$93un-fP(EdrlOo*!J z!_c}N&2XT4MZut7TfB#@*k@jk)OAA29ihV*k0%Z(!gX$n#3wpgwmyO_G0mVx*1m6i zbEpRv08-zqcm5lVdaVLE8?iT;A4;1!BuRgpsRJG7*q?kEHW!Q)Oe7+h-BMSRdK= zwbNNScT^BolpmX4 zEY+A#E3#~O-S{rY?f`6fl`|Amon5K}EwSBN;NYS9h;rvr=kR74(yMir8#Ds133t;N zysC*N;x+61J=c@g3EMdP^gW$*h0=WL?Zni7x?c^%PeQ)9-leh)uj#>*MB+Cnp`JXc zi!k;6=i|i^g*KE>O=1c1qR%Sx5(FR2r4x%?H9ZS4y~eYylrc3FO31wJg!vCul)!2K z+z4r9)V1Mq&dvJrp1sRl4SAkJcfdMlIZ!^V>C7Czus;i9S7dsTs8l+U1A^$0U5H|j zq{fwz_dN9St8IkX)nOX$yG?6yyog?lp8Po6K7(??wDPUTy=+-#l9p_N+9r2$$ectQ z9P6`hhmDA`t&GG+DC}|KruV?XN5o%gZsz*s;t^UHj1FZ;T*@!mQdnSo*D>b#^oU6O z5rusr)OKxc#Q(U$`tp_wfb5`1c&F!oeI6rc>#C5W$VcCsCJTH#@b3&Xg2z{@HP*CJzgz5*%&8vH#;#AisorJGYPYGGa?EXkxlLafv+W#N=G z-jmWQl~inu@>iHh0EZ(0b#=- z4EgnskpI$4rM{;zgn8r5PPFsh5n8G@rm*-wf%t17|HrLErEK~C3k%phi2TPzXK-8v zwfM8xGKR|(#0xwrDXrXDgP;xL9PLD`hH>`C_;}J9CxX0z_VfII%@o>NxXs}jp?4gI zcMde2^g`Q)o4V7(Cu21mj(JlE#c=wGB~t(#9mTV?4y7RO=)69iuI^7i^I)sjuUX7CqLpE5NtGc&fttayK&!~+BU>-Du!DKI)6>)wH|e@IVp zr01%a@+0anM=DXcIih+0G+jZLdbg-c*ERq2Y{f5J52|lAMm#?~yZ4aG zJ5gF%;#qerJtOehJC-ilg8UaMpVOtI<(}m|-T&%ZdOgZjoNzrj`^`-Tmz%a=$DI#O zLAkxJS9YP?eB`(P+U5PUv~)45R3uNG4Rg~cTt^$GYM1hto~I(MDZGoqXITn{$ky|>%-;3m%{ZDGl}ye-RnrggiH;_z2{NsT4!gKMS1H|sE46-CB)*^x}o zPI=42sl1Wl6zwoV&3U}Ce1Nsi{~}fvRVuy|pj`*cppV~tXaVK;Q+Z=y4U!IC z+H7LCu-Q%NyRp7@DX$sFt~R~RFunHfkZ3mohU&_kh##l=urB=$UOGz(A>$AjIvEQ; z;-6rK6L*lgs&IT4Yw*_Av^RR)<`LPMbVw<{_c53UFQk9B1W#$`l3eEKEoCyqr>rNZ zlC33L3Zpe4_;Gr|#85hyyo=MGz}QvZ!|B|{iifdPI-K^b9$SRd)c%Ea!$?~QEgQRe z@`+~6I8FKzN4QSOV0c0vax)gxkhtTS2P^XZzVtyyIN+eve*?13u674T`-~nw#b>uWIL~yvz`B-oxC!c&@kSATr;PWoCp)lqn7ZJ;>^Tu za+niaY0f!^5&9@>F|_}rxD<%)WII;wWHXtuW3BB#;9`0}bqzW9W7gS|RgA8E%HfzZehJ)bpRrXztyYLHKh6)!O)_+npntC_h!USy5HCKf9EptEp&VH~ZmaUPd{kOEE~G5K^var` z^2)d-C0LHj4sC06rEOfTLgSuTg#tv#cI=%3G{<<@bO7M$qvcK+pzV~pW9K5}45WOvbT`I0zA$7h$ zqmpxI-LZOEcik1705vpAD}+GGEd9l{5wJkTl{;_>@J$FYD|lNQg!r82$gb5jQslVO|n!aLF2gy5aN;dJEIaUpzp z#XXiB?XEBT+~nO>Kf!pB9_o9-d!liI@jaYPd`d>~;^3EkKB#!m;@~RZBwBZ%u~^HQeAgPKl?DY(Kn7-xK==*YRst&}{2QTW5Tx#SKNn!M8zcyIDal1aYFWJs>H zazk=sW1(@Bytmc+aI$B7pF5ak)W|0)Si%{>+kHcjz&GVPeNNsZ;G03X@_DYW(vb*K zASJmLD7cKpg!l*8c>GQZ-saPgu5f8LO~31lZKd=!4tSPOW%ZMd&q#;!080C0?aKrV3)Fv};62=49Q=we4`;}0R>=D*Pct5c zKyNakx#zjLY5w~zkAL|FXi0rFG-fDyJ6cCG@20|h@A>vJ?T)r`@G+{}3MXi%)8Cpx zZx2bQ&sF}t?Co1HQ_EGS+~u1{M~~w6Q}LQ_%lnmT3|kIvXd8>pHcST06X?jsH7`kT z9~+C~(_xt7io)RC#pOV(-DOOaPe8mD2(uI8Ggo>1rA22ZtD$a2a&LKXQ`<<&ug{H= zr^vXKW*#hk_J#aqKX28H8|d(`=(utv(OP^c z)_W1<_vN?GjP0i2#&1laN`)Gi(7Ju?6^7T*hRUD%vNKs-`KF97!dqn%u05+?l51-g z9Crm4oOdOCl{@6*F%$%=4+ml>8d&h2D;ZexS=oKWhmk`+o|WC9Hli!QUH!*g02iC^pU6b(USBw>_pi`ks&%y!0@W$vQOdXR8~E zD-w3x@w_sentpo8&vHTZ6ywxPD+u5S6bD=m+&XaZN6t{R!r8T%_iDTe-sVDZeq`6F z@8A>uGJM8tKjsR=mbu)A$ir^G)2L}*=1T57hl5{J3_owNuZWTF?_n7v>E%JS_;#G9 zPws2_G6Q zL_XDt%^F5u!kbebz3Mhc|67b6gU0AzwnkrgQN>=TO9cSSdw{?>uP3}@0)=8e=cCa( z_eq(JGm8_MT}yf@@ww*bV?K%A!5z3U^URT&;&pi(ITQV&>~U(vfSp`#sSA|H$>mw`I2`~s2f_@I+70Mox??dSeIcAqn4!)FPUrt(6vbc zeCAm62P{y2wDX*kMs$6i9dp2chwD(E1L^}*Qo*}IACAln6B+1usL_={MoZ0~mrgZk z_dOr;LW3BdqxuziHl%Yh@GvBY8n4C%A28S4E}t2vt=rW-)z~0mXrBt?V04W)7=P#3 zG%`AD&FNEvyoaYvGNHrgj$xT~c!Zbg1qQ~1$-AljIt`Y{ctQ4VK7IqN0J-@aOK1TM z-m>mt#*Hwf6l$JHhnjH=!)r7fB^OROTXNs2n@nR~y8KqOP+J3o*mXRk^JSq_FRoAE zc8hMJx@ewTZ*24#Kc_=?%Y*dEC(JZjJfxc>wmnA()~@f%}d7ws$XtZQq^y>Enc*rR@SWk=)mxO60p`YK}Vi7J+7q4t7{ zHs*RJpD^<7n=J)LhrV$NsXr3T$jh#0etvuq8xU`1-r08@p^!RO>RL>E!cn%q`(P3I_LDu{+C}s5<+23^v$m$s+7h zx#)iH8=Zf^)c~TSH^q;;x7>5a=l9-rd_2s!@kz(2?pd@;$t<1tOROF+^F{u3+m9D< z0k31~!Ms!L6>Q&=?DI^Uet}In+x08voYlizGS`@M(}o}Yg{?Rn-Y$2CVab>GL0MqV z^?exSvIVn^ryU)NZP5cgcjBP3C)Bk+7w5D`UuanKoTPrLC|q|PyzHs}l5yl~z`@T6 z{O4qqcbeK%#L%h4!sbBlBz7zzskXgeDJwF+aP`U=YX<{Y{nTDu!Rb^ON99J2yJu;H z@^8xSx0lSt*Pj*gx-+dRJILP0FXlBG-cXIy(e8^oyxj&d=HA1tO0eM@b7<5FWS*2> z_SPFzQb-+d$#E%__(zJIDv;3PrzC%*rCy4x@1gcurzMH*uiTdT-OO!wIypRW`rsc$d{q z2@RL3CQ`=+Q_--eyqvezAF7y$uzx&@f{CAM&2YPJg8O}(Ry*7MGVeEdM9z?|NFA+( zaS4u(*#G|iK*s;>T>X+{ZbURwX!gW!%P;)6Wi^7A{W0HIgxh}Oa!!7KPexB(f~WkM z1E*LMG2s`}X)B63I{)PASEVx*ns-~pG-Hb6fXwT=VuCS8+UAH(`RSACwD<7wGDJv| zVJSK6U_DK)9xt0N3k$1^Q@?bXnvB$itS|%>UXtL-cju<`E*HBv(<{K7z%6WkqYROc z%4TleuI3rWcN|dPg4ubY3Kzb{B0~H-KK_4?V-Wbwvy))nGip0+VJ^0}JPhb9yV6Zl zKGc=sjO8gK(7Fs4uMo)`X+xlqY{O?{)8BG@5#acOV~EkMnq9O%0rj_ z&7*r4SGce};N?*7$0mGvKkI9vyg8s^O;lHwVNGZrOA}SsRcqqFvC0Ao>%yM4FaG3V zsc?iE{+vec&aWxdfXivSbLg9Hn1FGJ=;Srumi&lCZwTIotrQ@i8T<;?MED&)j?}AM zlTXAZ7{8U5R)jkW^W*a47q!xuk5uQ$H^XI~@9$~d<7`)lYd$CqJ~=x>TB)?OqdqVC z@H;PQN`A?U{l%dO^;S6__Iek$7V5d{IyMx=9rOC(GCWv!$X-A%dpodEQ%t6dMja2* z47v9IWAA<7qO7w2@jHK*8U76qI4Ua20}KL+IH0zulMW;PLCX-yrP?LH5mAg3sb$-~ zIYY#UHrL2SKeSn(jV_cKw$jJlO+%wmtB<0YA7l4tXhvj~Xw+)!Hoy0|&ocw0{o8H- zeLmAGoaf%>dG0y)+;h)8=iGD8^HEC>=h=x$)|IZN*Z_xfyfiHO#s=dg`xgl;CkPyg zRXGd&-~*%0aCS-)1=8;pl77)k6O@;*p#Uk5Ga>ErpSyBdn-^R6*G7D7%d~6A#|!%`@wJ%8{PFARZ~g`i}r^%DpqBy(b;FS z#%z7F($NsaT6Vd^#|l-+n-!#;&L_4_Ki^h&b_dw0;WG5<0^k}u7qBSbUe-iZgJ z1sK>PAeqHD2RV^=f-6Nj7(aEjb& z-KT&xd|P42NwS8eS@ihgQIr11PbEzwlD}6-jQMxi^s;`;xji zy6b>S-{?#g@8_z8tX9mvu12xV7$!V@rm+$_#dVa4Rmw}GOnBFQQYJ7BNtxif1t}9# zxH3^GDHBjm3CYYaLS79tIgMjUpXf3qn4qihWjE7GJBW~h6RAy1v@jCZ&C7#eH`9s( zZ6J_q16C(y2MOpaqzRC;_NWH8kmf+r7<*aH<59FyJ8C1Zk=-`P?lOdqc)Sqa3AhEi zNG2EQBrtIWF6T}9Q+B4Y6!C|LA@Fg`xQJz_qtjUVG!d)!M7QcI_R0&DtB@Z|xoak6U}&%f41_{v+1j760{3 z;*$rdtX+UjZpZO4tYSIh2~se#W~IlHpfL3uTbiK=QVxblJv58N=ZM0>;e~}*pv49) z7A?A+=}LOiUiDtBLW?LX|0?xng_b1fOJR>kp53I-UJczWd@MXl8%o&QqB~VPMP-#H zO4U^}yi*viYf(e+x|Aay(z>FaRBfva6GHAgR0S>AMfz=HgE|>=BkutaQ*(#qP!)W1 z1Eg{0FKE_~IPlIIu0tOhf-28!kre5%g3U;JG?Zv{sC_a!=vOnj3qarwI38tRr6`K2 z`S7{W47HOT?=vT zs2q8X$d=XZ0U{gn`RmlAH+~%{&~Rb78wbfui@}%l>^@b=LynKVn7N1Ct1rlvzx+z#M;>CasAH`}ZHhAFie68|b=tWt~UV)aWYPe!Vv zl-jGwTLt~#N3R|Y4<-K^?o=IhDyv3sRdqFJIEKkcFH(_;<}s)XmS!+1^hkp4 zP6V{XYsg7Js{}1YTI?NV%zt>^EJnP#u#jafD%JxHa+e`mtX`mV zsE5IV8o>@DLVDtG`}4}}zx{c5b6ZPt!ul%aW!RJBoxrA$+4mOCm(eMZAJtO*0-Gve!oi@y^3iztIRo8 zgE^IjP3xhvKDSkdk`4@-1u5g+3am2KDXQ8<|1N`$Wm({q_G2Y47z6WGhUtWdjJeG> zppE1B9Y}=5#s)(r{*}_TKOEiDk9?Hia_Q`c9oMZYNN4z7o9vE;QLM$}9y-ru zjmCpwu-Y~;!oEdWwP236D!EP4n`*jd!%25&7OcZVCxDQ{m@Ik9YrL}@D^|Wj;A3r(MEuI%h&|LoSu;=q%|m7YC^FFaC3Wq96}euXjxoe_*)z# zno(G2U0Qf(NSuOUOJ*3;?>0_^{T+j#Zl>K|T9}MI?98dmS!?nd%udT>*vpb9{&xk1 z%ajj2rP6lQCU(vb({(wMI@f)U_(4RXTN57AUTqBzc8u{ugkBxOYy1239ZCcY({6w* zbE@M7Wn*O`wutf+h;AQLY?^-=z1^i(>=`PY3U|-Np`OgA`Al#IX-8mBZZPh+ zT1N#toAuaC;0HuhuDoHv&b(le%E!X7pWeO+hj2G((pIvTgMlN8MTc_`+i}=7SSYh* zest>dsc!d_R(I9acuiH$Q>rUxOzrM7D_h-}jtc?7(+*zHjGve0H|>qgIbqTN zVe#9SIcGoHXPQ&T_KCV*GCbo?&y1yK{)lHP9#NO-vafy0kDiL_d&)52Dg9M6CI+kA z}$^B+wJD`xFp-ryqjru7}_|0YLDbeh9An5`y;= zf{;2vs|&ZW_b1(G0# zUr|CO#CZhlUfv#@;XJR`9->(Y?^YC}Tl^`pV!46|)|yU@$=T`MdE+~o4kv_qW|Ic~ z-e<9yUi^gf{9a93C(Uv4@0X1uBo1v{icQ6XkV^M%#35(cmE@1|>`Dq>+Lg4%;b=ya z`gj9kc^`upSQ%7o(Knt=YAz|<_CO)`Q6lKdIFUIKcm@$C?E(r~uW)-QZ)9-n7QI9C zSA^(})EXd#PG^3eb1}D@D_iIEQI3%Khz7nFnK@Uyz@3IFS9C07ebhEJEamix_8+M( z$J;kp#n?LN)e}?f&C1%t8;9m*zO5k%7Y+$0I%=U2IQ*uI}GI4Myd?=01!Oec2Q;Vi39&>3M ziX92Mq1bV_QqOi-Gtc962{u5zqhium*9S-I5h4r$?Rpo786n{KVa5ZIILvqx4l@SP zVaA*Cj^OkKDsY%Fhz>J?Wj+JT5Whh4i2BJ8L}T^zWZ@to#ao$&_`Rxvkr2ZUScb@f z;pFBBvta+FZA!y`FgRu&&(MfLI-{)cpmx@%v8%{;f;G>;kCB|{Z>{zp1j51`}VGf z5|Vi(dOTE=w4r39QDcu#oSZD|e8scJ%ZL98jT22TeQ$$;n1UFMrafkKT}Z&Ifx^RB zRS|E8eR|9jNBbm1P>rNOal=Q51g?(kH>~4C{lPY4-aQCYf;EoVI>~wU^e-f9{CG0< zCCD0oe2Ipvaj#E^td8q#LkMz*W-E*Wd9<$G#w+=iXBRK|H$fghjN}iD63KHu7GV=P z0o*ZIJ-%k<;N**H{Xs*@_qwb89m#%WJ=o|NxX0_j7%e!CLz{!k2s^Xl;!B z1x~PGx2cI>3{Bp*gdqaJes2MFR= z%_py6a_|{JXn9c@g`upC%)7f|G9r}^D!%n8qSvivwIS>O@wL?KkTKaV>e z`CfkC9-znh=pD>a+>wIxHgIae1qt~5hVgmNFwVY|DC$qb8M>Z(aNq+3Lm}|(Nd zQ$Geqm5KJ>DGpAm`DqtnWQFp~O+>F-N5Tj$P1?oEerw1*Z(>J_D3yIhW6l1v2=Rq5F343Ng)y5QRDJ# zs0n9`hGMh`5$+@5T#u9wkh3&r`TjReE^DG&LH#Lsz zNvr~DG8TE5C&Ah~WCi$3s`0_UN;M8??I|csVCMq|zp6DoaKbp;{+hCGV&;vbP8!1P zTCC!()*&@y3Z%uUT~L;hb=hB3ovKMbCtaY?%cWS)2tGS93+O@xPgS{C}%SMb?putd8k>+&JKI z3G_RJ-a8U{66lH7eTr1%eh8La55aeIq$2l2u;fb!-cJa=f%Wzcwc{N^@11_=l?+5r z>dg_R5|5}!MJ7Ct^ux2{I(R}w)-8J$D)O_EimaZuL%m*ricB;uQFjFh>^hx0LTDfP zYP2On9U**=d^Nt(Q*J`j{S9b3+&WT`)x|rYB4c>^@au732R}FA=l&-A+-j)EI**Es zUPDFZ-6pb1D)N`OZW>pSVK#OJw7Ze+!PQ{kDzcRH!qEn*A6H|xeU*;PSI#$-es^&7 z_#8s?HjfQdHR)}*A?a-^ptq4#*`=P$cFke~)U=`B zT1|udU(u37N3jposSuz^>%E1R_OtDiM2e&FhT%=U7RHF**L5P?RPqdWZK4~(C$ImrI)GJ6iq`UK zF%;ExNiT)2ws`7V^-Ws^Rz!8sim^%$_CGl*UpB~$q9Xx@aq8vPZg}4s>}p`7&o9!rOD__yJBN-d5U(S;N@Ymxtb$>-T4A&>acx-X+559RDjF{Y4i$;Qbm=$Kq1?O}5( zXSWJ=7a}cS<#WhB)Cyf@Jw}+hKsVFRP`(q z4nxY{5=J&~@V~=qMgdtNCZ~F`*b~LN+G1Iu8fhJ6-I04Wy#wO)K*nfkZP4~#91yxS z_58&%I2`xSb%t?dsZU|13T31c$JA5pw<~qLTRiAwK$j%XUIOBsLlIqNWL?LjOqaN( z!B;%^f)>n%uhHA7fAA8n?`>u4aW;QF&gjEKd<$+Hs%Ys}kD4bSt-x(?NaJ8Rk_m+3D6`=Q_HgAQq?B4v>Tj*- z!I88YOUrhi0O=UR*27@r^+j5OUt`le%Fmn7QA$|}?@?9zX1&usF-qR()ts9vus0re zY->nS{2~JhEC)5Hl)|N3apG!FvpT72xz83=NqQR!!K)TV$k0^4DRRavGKbGykt|H7@<9JH@86OofH z_GHl2=q2h-#J-*`^1GUs8!Gzvdp-j|9 zo{SIVUO}gXThIBImp+iEY@SX^KNtFxVB1{t~8Zmldw z;TYZo6gk}z-rTK3bTE6@e(nVY%RA+u?ovL-o^=MHStYf}ySuGRi$e>@CMTUU$Au(# z%jvv#&taV)M>LTXph2@m+0or`AW@GD@(VBrbr+{u2Y~caDa2Cplr1W6`2!5E9-SNL zef54%KP9@UahlbWE43MsQOGBQbcLW$IZ^09ggQc-TO^IK30rL00nBB2I>^Oy#4jVh z3=w*2%4a1CnR_x_BIud@rlzB&obtXq8o*XL?rQjyDRSu zJg{JhvH=WnQf3G`8%GoZLx8=B131EF-X7SS_=2}rgR@B9Zp$nl%30jQ94kD`aiEi^ zCE~1d-X**D9gylpOpC`{ay01uT6PCx zaHlm)VfSZ^(V#}zvN9OcpVy=e*EsS}6Hhf2W7z%9ynvW6I&1q{L%`Ev%)VgmdLhdh zl6X)I2}Ea*UG~)g9NY?}J{zv{W-+rvoDSk9PS%%I#Sr2 z#qP&)M3HmqzE@{ojCa(A;pk(6Uu^@kf*_TK1{Kk|%wYd>!mELOkEV&62O!7+Af4Vz z4k3i65%mKecBdHpv>Z;OK@uP-ov+}}QSXlno6GM15-!LKA9Bw60QKj)E><;aCdex0uvvX~fwrR$Mz1ElKne#-WV0MZ| zZByWnrv(JQXl9#5UO_#~ZJbxWcdl?RI%;NH=|LwRyyKVCZvVr>W^rq*TrqX`-YL7D zL`95TG3c{tVV|U$#n>phVsYxr1@oRk#b~*rc=z<>Q=eJa{WG`wK8IV}I=X4K+g)1W zZtRU{R$m2})?q4#ZLL;oZUsn(!9T=Y=`=Py$YxYv5Gg40i~U%Y_H7GGXWB$Dfi;aN zm^?hn-<-Y~eOvwXl+qtM%`7So@mx_r`Ddfd_ci}N^vzT8$l@D+{+}~Z5idXS;XTvN zZTbQgNpeMC^7Mcqr9=*`IXX7hoSpzYYS)9BP1yT-*FOCWV~JZILHwNFY)pt1oX*{o~Fu2*{bu@gt(z5F-ar zY`&O42N(USvYJ$2v=qjiHbaBDRXgfr?UxzN+h!{cc_4bkS#2ykTQrf7Ty;?k6?*vHm&&l`K=-0l%)<73TdoyK+DBb4Uhwv%V;@Mcp~ zQ_PrY(HnjZE{!&~#e=y;467N>YRzX2Cb|&J4fGGc>crJm@Phu~*4*wu`}6?DZfbsH zM}&PRyJ)ytnGmapQXs(c5f|Ic%<7C-0i$OOZ2&>(;~vvMi4>xjLFcSBP%K?z84^*E zH!;-@^S)_Dz&>lt=B9-KX<0Fw_f>&rTC-(LfFZX8+23U|K;=pesJv3pHBQ7C(8NwPV4T?` z3XZaMpmJHAwrN80%PF98mHP`NS`#inQhb)fRROH<|& zm1m5-(b_#CeXEgX-@5KWN^_X)WcsjJk_b&B#!MRyDznW|<~Ao}3KuMRR%=clY%=2l zRHk}2dq3J^eerqV3lO|ws&3kp3;%)Fz$?6B!ZUkQo_U6P zDOJqA7=XJbV3d&{G%ajhgRwJT0}1oTY4C4A>UA35oAAt~nn-<}#ZdhLLo9M*c387A z4H02iS!}UjI~8e9!sI_3S)m_#aygczy^)n4k3LzXz?OHA{gxkeuTVJ*za(v8y;f_h ziLUNK3qj2ahsA(Tfgt}xHY5xD&se%bymic5 zO0G>bVkHi>dbJ50K|_}BG&lnOXwVcR9ts*n(+vA`Fo{D5)wNU_$o3dvcMr!lhp4SS z!yb4`bi@bPPa_jbW402?L$Xd$bu?Vzum!QI_Bv%67T@iI@C^-_K0LjC(**mP6fj(o zB}fcq_B7>lS-PEmu1l4XP9dm)Ldi;>Yw@dEPz_Idtuif>wKRlz&~aLVPh8y~Tgd6AFEH11o>B;>2Wqj?rL$+rRor#RDfMlALa=UufT->x)-wpQju3I z_S;*KR=lqJ_ip#^9BxbU=q98(3&Xlz=GUw?R|buCS=J(H+QiELda?8Ad)oued268( zRFXmxIB0J`L>(%ifAEUcG1E%bzc%LuVbSIlKTF+v-(3xO!c+0!!f6%n3wQ#nIDg{9 zd-tCEpHw`7Rh(D6`^#x(Zv8!;@KpR^_uh^v&)|u1@)LJ_HtqIX=oRWhEAV(T{)J=Z zdNWHIr)_#Y_2t(fK<#@HadTIkw&|7K)AysIVKP-D0uM_i-ZQR^*Ean|G2;bH7gJ*O zUocWrAk5p5v06i4I(eGew?H(1_{IKn^u!cCo3X@G1YxEIp^fH>wD=|pjAlJezuEor z3saxjUUyzqKiO;>8e=}QEJkbIax~g(8#~UCJ{dx~VodD1?pIO?m5Srz%$=(e&Cz91 z^LMu;Sk5IYe>|F;_&6#!K-j`^)vM$z#pTnrN*0nyU)ZQ*ngrA^Ee z7%pPW1>w=cw1c*FF||_=Mqjp0>pEZeh`C@BIspldb^p^TQ_A0>B@Mw*69$=6R^_&e zYH6jX%BHcl8^;`Q(y9-EO%)UFnU+%UVZSHdOrC!1o>EkR1=6X_pRJjGpWBW0F`nvS zvBI=BFsa3&6eX5p*=%w&hGm{_v|)*s)VUbJ@lL!_pK~Fp^2FqvCm_Jx6RY@~?^E;e zd8z4G2AqNcnT`;;CQI!Qg8+#VCah7>d{!pay)(wXYgkx9r@oo6A{cGp*YKDp6|KJ^Kw*%!aX^ZiUA zk7>()n`XGz;9F?08n`}~IY#ZE*o{O5)RU^rXqYu&3QC0re*%`C9J1APV{vI`M-)Vl7oKna!|6;qln(Lr823}t|mv^ zdl^{&R)$gb8=mlw@-R`#yZ*7Oh^JPQ;&nf{-Y{t6F=*!WF%WO_*eyW9Y~5fK9N9mo zWD2zt)GQvOxve2AeqNd*8;QD{nr5}Dgfg<%;1Qt2=vZ-pTm zlnE9cMnuraWzc~7PgP$T+wJL@Ihc;*=E7$%KT^4TZX}yC#uYWvFNvtztFjj;yULV8 z=3J=y%4Q{fbO48Y&ZP`vXy)`N*HuoG_RXN;O7i?6YuEY7IXm!$X)s87O`p`#`?f%J) zHmuG`NbE94Xf4QK51gpcJJOZa0hxDk1hSFwMPLt{GiXh{TCvxC=Zy!>A`hR#fPiwN zKYDdLfIX>p7zI{^Ɍ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

@;<5e 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�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

  • K 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 z // For dladdr +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "mvnc.h" +#include "usb_link.h" +#include "usb_boot.h" +#include "common.h" + +// Graph file structure +#define HEADER_LENGTH 264 +#define STAGE_LENGTH 227 +#define VERSION_OFFSET 36 +#define GRAPH_VERSION 2 +#define N_STAGES_OFFSET 240 +#define FIRST_SHAVE_OFFSET 248 +#define N_OUTPUTS_OFFSET (HEADER_LENGTH + 136) +#define X_OUT_STRIDE_OFFSET (HEADER_LENGTH + 172) + +#define THERMAL_BUFFER_SIZE 100 +#define DEBUG_BUFFER_SIZE 120 + +#define MAX_OPTIMISATIONS 40 +#define OPTIMISATION_NAME_LEN 50 +#define OPTIMISATION_LIST_BUFFER_SIZE (MAX_OPTIMISATIONS * OPTIMISATION_NAME_LEN) + +#define MAX_PATH_LENGTH 255 +#define STATUS_WAIT_TIMEOUT 15 + +static int initialized = 0; +static pthread_mutex_t mm = PTHREAD_MUTEX_INITIALIZER; + +int mvnc_loglevel = 0; + +/////////////////////////// Structs ///////////////////////////// +struct Graph; + +struct Device { + int backoff_time_normal, backoff_time_high, backoff_time_critical; + int temperature_debug, throttle_happened; + float temp_lim_upper, temp_lim_lower; + float *thermal_stats; + char *dev_addr; // Device USB address as returned by usb_ + char *dev_file; // Device filename in /dev directory + char *optimisation_list; + void *usb_link; + struct Device *next; // Next device in chain + struct Graph *graphs; // List of associated graphs + pthread_mutex_t mm; +} *devices; + +struct Graph { + int started; + int have_data; + int dont_block; + int input_idx; + int output_idx; + int failed; + int iterations; + int network_throttle; + unsigned noutputs; + unsigned nstages; + struct Device *dev; + struct Graph *next; + char *aux_buffer; + char *debug_buffer; + float *time_taken; + void *user_param[2]; + void *output_data; +}; + +static double time_in_seconds() +{ + static double s; + struct timespec ts; + + clock_gettime(CLOCK_MONOTONIC, &ts); + if (!s) + s = ts.tv_sec + ts.tv_nsec * 1e-9; + return ts.tv_sec + ts.tv_nsec * 1e-9 - s; +} + +static void initialize() +{ + // We sanitize the situation by trying to reset the devices that have been left open + initialized = 1; + usblink_resetall(); +} + +mvncStatus mvncGetDeviceName(int index, char *name, unsigned int nameSize) +{ + if (index < 0 || !name || nameSize < MVNC_MAX_NAME_SIZE) + return MVNC_INVALID_PARAMETERS; + + pthread_mutex_lock(&mm); + if (!initialized) + initialize(); + int rc = usb_find_device(index, name, nameSize, 0, 0, 0); + pthread_mutex_unlock(&mm); + + return rc; +} + +static int is_device_opened(const char *name) +{ + struct Device *d = devices; + while (d) { + if (strcmp(d->dev_addr, name) == 0) + return 0; + d = d->next; + } + return -1; +} + +mvncStatus mvncOpenDevice(const char *name, void **deviceHandle) +{ + int rc; + FILE *fp; + char *tx_buf; + unsigned file_size; + char mv_cmd_file[MAX_PATH_LENGTH], *p; + char name2[MVNC_MAX_NAME_SIZE] = ""; + + if (!name || !deviceHandle) + return MVNC_INVALID_PARAMETERS; + + pthread_mutex_lock(&mm); + if (!initialized) + initialize(); + + // Search the mvnc executable in the same directory of this library, under mvnc + Dl_info info; + dladdr(mvncOpenDevice, &info); + strncpy(mv_cmd_file, info.dli_fname, sizeof(mv_cmd_file) - 40); + p = strrchr(mv_cmd_file, '/'); + if (p) + strcpy(p + 1, "mvnc/MvNCAPI.mvcmd"); + else + strcpy(mv_cmd_file, "mvnc/MvNCAPI.mvcmd"); + + // Load the mvnc executable + fp = fopen(mv_cmd_file, "rb"); + if (fp == NULL) { + if (mvnc_loglevel) + perror(mv_cmd_file); + pthread_mutex_unlock(&mm); + return MVNC_MVCMD_NOT_FOUND; + } + + fseek(fp, 0, SEEK_END); + file_size = ftell(fp); + rewind(fp); + if (!(tx_buf = malloc(file_size))) { + if (mvnc_loglevel) + perror("buffer"); + fclose(fp); + pthread_mutex_unlock(&mm); + return MVNC_OUT_OF_MEMORY; + } + + if (fread(tx_buf, 1, file_size, fp) != file_size) { + if (mvnc_loglevel) + perror(mv_cmd_file); + fclose(fp); + free(tx_buf); + pthread_mutex_unlock(&mm); + return MVNC_MVCMD_NOT_FOUND; + } + fclose(fp); + + // Boot it + rc = usb_boot(name, tx_buf, file_size); + free(tx_buf); + if (rc) { + pthread_mutex_unlock(&mm); + return rc; + } + + PRINT_DEBUG(stderr, "Boot successful, device address %s\n", name); + + // Now we should have a new /dev/ttyACM, try to open it + double waittm = time_in_seconds() + STATUS_WAIT_TIMEOUT; + while (time_in_seconds() < waittm) { + void *f = usblink_open(name); + + if (f == NULL) { //we might fail in case name changed after boot + int count = 0; + while (1) { + name2[0] = '\0'; + rc = usb_find_device(count, name2, + sizeof(name2), NULL, + DEFAULT_OPEN_VID, + DEFAULT_OPEN_PID); + if (rc < 0) //Error or no more devices found + break; + + //check if we already have name2 open + // if not, check if it's not already busy + if (is_device_opened(name2) < 0 && + (f = usblink_open(name2))) + break; + count++; + } + } + + if (f) { + myriadStatus_t status; + + if (!usblink_getmyriadstatus(f, &status) && status == MYRIAD_WAITING) { + struct Device *d = calloc(1, sizeof(*d)); + d->dev_addr = strlen(name2) > 0 ? strdup(name2) + : strdup(name); + d->usb_link = f; + d->next = devices; + d->temp_lim_upper = 95; + d->temp_lim_lower = 85; + d->backoff_time_normal = 0; + d->backoff_time_high = 100; + d->backoff_time_critical = 10000; + d->temperature_debug = 0; + pthread_mutex_init(&d->mm, 0); + devices = d; + *deviceHandle = d; + + PRINT_DEBUG(stderr, "done\n"); + PRINT_INFO(stderr, "Booted %s -> %s\n", + d->dev_addr, + d->dev_file ? d->dev_file : "VSC"); + pthread_mutex_unlock(&mm); + return MVNC_OK; + } else { + PRINT_DEBUG(stderr, + "found, but cannot get status\n"); + usblink_close(f); + } + } + // Error opening it, continue searching + usleep(10000); + } + + pthread_mutex_unlock(&mm); + return MVNC_ERROR; +} + +static int find_device(void *deviceHandle) +{ + struct Device *d = devices; + + while (d) { + if (d == deviceHandle) + return 0; + d = d->next; + } + + return -1; +} + +static int find_graph(void *graphHandle) +{ + struct Device *d = devices; + + while (d) { + struct Graph *g = d->graphs; + while (g) { + if (g == graphHandle) + return 0; + g = g->next; + } + d = d->next; + } + + return -1; +} + +// Defined here as it will be used twice +static int deallocate_graph(struct Graph *g) +{ + int found = 0; + + // Remove it from the list of the associated device + if (g->dev->graphs == g) { + g->dev->graphs = g->next; + found = 1; + } else { + struct Graph *gp = g->dev->graphs; + while (gp->next) { + if (gp->next == g) { + found = 1; + gp->next = gp->next->next; + break; + } + gp = gp->next; + } + } + + // Free it with all its data + if (found) { + free(g->aux_buffer); + free(g->output_data); + g->dev->thermal_stats = 0; + free(g); + } + + return -!found; +} + +mvncStatus mvncCloseDevice(void *deviceHandle) +{ + int found = 0; + + if (!deviceHandle) + return MVNC_INVALID_PARAMETERS; + + pthread_mutex_lock(&mm); + if (find_device(deviceHandle)) { + pthread_mutex_unlock(&mm); + return MVNC_INVALID_PARAMETERS; + } + + struct Device *d = (struct Device *) deviceHandle; + // Remove it from our list + if (devices == d) { + devices = d->next; + found = 1; + } else { + struct Device *dp = devices; + while (dp->next) { + if (dp->next == d) { + found = 1; + dp->next = dp->next->next; + break; + } + dp = dp->next; + } + } + + if (!found) { + pthread_mutex_unlock(&mm); + return MVNC_INVALID_PARAMETERS; + } + // Deallocate all associated graphs + pthread_mutex_lock(&d->mm); + while (d->graphs) + deallocate_graph(d->graphs); + + // Reset + usblink_resetmyriad(d->usb_link); + usblink_close(d->usb_link); + if (d->optimisation_list) + free(d->optimisation_list); + + free(d->dev_addr); + free(d->dev_file); + pthread_mutex_unlock(&d->mm); + pthread_mutex_destroy(&d->mm); + free(d); + pthread_mutex_unlock(&mm); + + usleep(500000); + return MVNC_OK; +} + +static unsigned read_32bits(const unsigned char *ptr) +{ + return ptr[0] | (ptr[1] << 8) | (ptr[2] << 16) | (ptr[3] << 24); +} + + +mvncStatus mvncAllocateGraph(void *deviceHandle, void **graphHandle, + const void *graphFile, unsigned int graphFileLength) +{ + if (!deviceHandle || !graphHandle || !graphFile) + return MVNC_INVALID_PARAMETERS; + + if (graphFileLength < HEADER_LENGTH + STAGE_LENGTH || + graphFileLength > 512 * 1024 * 1024) + return MVNC_UNSUPPORTED_GRAPH_FILE; + + unsigned char *graph = (unsigned char *) graphFile; + if (graph[VERSION_OFFSET] != GRAPH_VERSION) + return MVNC_UNSUPPORTED_GRAPH_FILE; + + unsigned nstages = graph[N_STAGES_OFFSET] + (graph[N_STAGES_OFFSET + 1] << 8); + unsigned noutputs = read_32bits(graph + N_OUTPUTS_OFFSET + + (nstages - 1) * STAGE_LENGTH) * + read_32bits(graph + N_OUTPUTS_OFFSET + + (nstages - 1) * STAGE_LENGTH + 4) * + read_32bits(graph + X_OUT_STRIDE_OFFSET + + (nstages - 1) * STAGE_LENGTH) / 2; + + // A reasonable check on graph correctness + if (nstages > 1024 || noutputs > 64 * 1024 * 1024) + return MVNC_UNSUPPORTED_GRAPH_FILE; + + pthread_mutex_lock(&mm); + struct Device *d = devices; + while (d) { + if (d == deviceHandle) + break; + d = d->next; + } + + if (!d) { + pthread_mutex_unlock(&mm); + return MVNC_INVALID_PARAMETERS; + } + + if (d->graphs) { + pthread_mutex_unlock(&mm); + return MVNC_BUSY; + } + + myriadStatus_t status; + double timeout = time_in_seconds() + 10; + do { + if (usblink_getmyriadstatus(d->usb_link, &status)) { + pthread_mutex_unlock(&mm); + return MVNC_ERROR; + } + usleep(10000); + } while (status != MYRIAD_WAITING && time_in_seconds() < timeout); + + if (status != MYRIAD_WAITING) { + pthread_mutex_unlock(&mm); + return MVNC_ERROR; + } + + if (usblink_setdata(d->usb_link, "blobFile", graphFile, graphFileLength, 0)) { + pthread_mutex_unlock(&mm); + return MVNC_ERROR; + } + + struct Graph *g = calloc(1, sizeof(*g)); + g->dev = d; + g->nstages = nstages; + g->noutputs = noutputs; + + // aux_buffer + g->aux_buffer = calloc(1, 224 + nstages * sizeof(*g->time_taken)); + if (!g->aux_buffer) { + free(g); + pthread_mutex_unlock(&mm); + return MVNC_OUT_OF_MEMORY; + } + + if (usblink_setdata(g->dev->usb_link, "auxBuffer", g->aux_buffer, + 224 + nstages * sizeof(*g->time_taken), 0)) { + free(g->aux_buffer); + free(g); + pthread_mutex_unlock(&mm); + return MVNC_ERROR; + } + + g->debug_buffer = g->aux_buffer; + g->time_taken = (float *) (g->aux_buffer + 224); + + // output_data + g->output_data = calloc(noutputs, 2); + if (!g->output_data) { + free(g->aux_buffer); + free(g); + pthread_mutex_unlock(&mm); + return MVNC_OUT_OF_MEMORY; + } + + g->dev->thermal_stats = (float *) (g->aux_buffer + DEBUG_BUFFER_SIZE); + + g->iterations = 1; + g->network_throttle = 1; + if (d->graphs) + g->next = d->graphs; + d->graphs = g; + *graphHandle = g; + pthread_mutex_unlock(&mm); + return MVNC_OK; +} + +mvncStatus mvncDeallocateGraph(void *graphHandle) +{ + if (!graphHandle) + return MVNC_INVALID_PARAMETERS; + + pthread_mutex_lock(&mm); + if (find_graph(graphHandle)) { + pthread_mutex_unlock(&mm); + return MVNC_INVALID_PARAMETERS; + } + + struct Device *d = ((struct Graph *) graphHandle)->dev; + + pthread_mutex_lock(&d->mm); + if (deallocate_graph((struct Graph *) graphHandle)) { + pthread_mutex_unlock(&d->mm); + pthread_mutex_unlock(&mm); + return MVNC_INVALID_PARAMETERS; + } + + pthread_mutex_unlock(&d->mm); + pthread_mutex_unlock(&mm); + return MVNC_OK; +} + +mvncStatus mvncSetGraphOption(void *graphHandle, int option, const void *data, + unsigned int dataLength) +{ + if (!graphHandle || !data || dataLength != 4) + return MVNC_INVALID_PARAMETERS; + + struct Graph *g = (struct Graph *) graphHandle; + pthread_mutex_lock(&mm); + if (find_graph(graphHandle)) { + pthread_mutex_unlock(&mm); + return MVNC_INVALID_PARAMETERS; + } + + pthread_mutex_lock(&g->dev->mm); + pthread_mutex_unlock(&mm); + switch (option) { + case MVNC_ITERATIONS: + g->iterations = *(int *) data; + break; + case MVNC_NETWORK_THROTTLE: + g->network_throttle = *(int *) data; + break; + case MVNC_DONT_BLOCK: + g->dont_block = *(int *) data; + break; + default: + pthread_mutex_unlock(&g->dev->mm); + return MVNC_INVALID_PARAMETERS; + } + + pthread_mutex_unlock(&g->dev->mm); + return MVNC_OK; +} + +mvncStatus mvncGetGraphOption(void *graphHandle, int option, void *data, + unsigned int *dataLength) +{ + if (!graphHandle || !data || !dataLength) + return MVNC_INVALID_PARAMETERS; + + struct Graph *g = (struct Graph *) graphHandle; + pthread_mutex_lock(&mm); + if (find_graph(graphHandle)) { + pthread_mutex_unlock(&mm); + return MVNC_INVALID_PARAMETERS; + } + + pthread_mutex_lock(&g->dev->mm); + pthread_mutex_unlock(&mm); + switch (option) { + case MVNC_ITERATIONS: + *(int *) data = g->iterations; + *dataLength = sizeof(int); + break; + case MVNC_NETWORK_THROTTLE: + *(int *) data = g->network_throttle; + *dataLength = sizeof(int); + break; + case MVNC_DONT_BLOCK: + *(int *) data = g->dont_block; + + *dataLength = sizeof(int); + break; + case MVNC_TIME_TAKEN: + *(float **) data = g->time_taken; + *dataLength = sizeof(*g->time_taken) * g->nstages; + break; + case MVNC_DEBUG_INFO: + *(char **) data = g->debug_buffer; + *dataLength = DEBUG_BUFFER_SIZE; + break; + default: + pthread_mutex_unlock(&g->dev->mm); + return MVNC_INVALID_PARAMETERS; + } + + pthread_mutex_unlock(&g->dev->mm); + return MVNC_OK; +} + +mvncStatus mvncSetGlobalOption(int option, const void *data, + unsigned int dataLength) +{ + if (!data || dataLength != 4) + return MVNC_INVALID_PARAMETERS; + + switch (option) { + case MVNC_LOG_LEVEL: + mvnc_loglevel = *(int *) data; + break; + default: + return MVNC_INVALID_PARAMETERS; + } + + return MVNC_OK; +} + +mvncStatus mvncGetGlobalOption(int option, void *data, unsigned int *dataLength) +{ + if (!data || !dataLength) + return MVNC_INVALID_PARAMETERS; + + switch (option) { + case MVNC_LOG_LEVEL: + *(int *) data = mvnc_loglevel; + *dataLength = sizeof(mvnc_loglevel); + break; + default: + return MVNC_INVALID_PARAMETERS; + } + return MVNC_OK; +} + +mvncStatus mvncSetDeviceOption(void *deviceHandle, int option, const void *data, + unsigned int dataLength) +{ + if (deviceHandle == 0 && option == MVNC_LOG_LEVEL) { + PRINT("Warning: MVNC_LOG_LEVEL is not a Device Option, \ + please use mvncSetGlobalOption()!\n"); + return mvncSetGlobalOption(option, data, dataLength); + } + + if (!deviceHandle || !data || dataLength != 4) + return MVNC_INVALID_PARAMETERS; + + struct Device *d = (struct Device *) deviceHandle; + pthread_mutex_lock(&mm); + if (find_device(d)) { + pthread_mutex_unlock(&mm); + return MVNC_INVALID_PARAMETERS; + } + + pthread_mutex_lock(&d->mm); + pthread_mutex_unlock(&mm); + switch (option) { + case MVNC_TEMP_LIM_LOWER: + d->temp_lim_lower = *(float *) data; + break; + case MVNC_TEMP_LIM_HIGHER: + d->temp_lim_upper = *(float *) data; + break; + case MVNC_BACKOFF_TIME_NORMAL: + d->backoff_time_normal = *(int *) data; + break; + case MVNC_BACKOFF_TIME_HIGH: + d->backoff_time_high = *(int *) data; + break; + case MVNC_BACKOFF_TIME_CRITICAL: + d->backoff_time_critical = *(int *) data; + break; + case MVNC_TEMPERATURE_DEBUG: + d->temperature_debug = *(int *) data; + break; + default: + pthread_mutex_unlock(&d->mm); + return MVNC_INVALID_PARAMETERS; + } + pthread_mutex_unlock(&d->mm); + + return MVNC_OK; +} + +static mvncStatus get_optimisation_list(struct Device *d) +{ + int i, config[10]; + double timeout; + myriadStatus_t status; + char *p; + + if (d->optimisation_list) + return MVNC_OK; + + d->optimisation_list = calloc(OPTIMISATION_LIST_BUFFER_SIZE, 1); + if (!d->optimisation_list) + return MVNC_OUT_OF_MEMORY; + + memset(config, 0, sizeof(config)); + config[0] = 1; + config[1] = 1; + if (usblink_setdata(d->usb_link, "config", config, sizeof(config), 1)) + return MVNC_ERROR; + + timeout = time_in_seconds() + STATUS_WAIT_TIMEOUT; + do { + if (usblink_getmyriadstatus(d->usb_link, &status)) + return MVNC_ERROR; + usleep(10000); + } while (status != MYRIAD_WAITING && + status != MYRIAD_FINISHED && time_in_seconds() < timeout); + + if (status != MYRIAD_WAITING && status != MYRIAD_FINISHED) + return MVNC_TIMEOUT; + + if (usblink_getdata(d->usb_link, "optimizationList", + d->optimisation_list, OPTIMISATION_LIST_BUFFER_SIZE, 0, 0)) + return MVNC_ERROR; + + for (i = 0; i < MAX_OPTIMISATIONS; i++) { + p = strchr(d->optimisation_list + i * OPTIMISATION_NAME_LEN, '~'); + if (p) + *p = 0; + } + + config[1] = 0; + if (usblink_setdata(d->usb_link, "config", config, sizeof(config), 0)) + return MVNC_ERROR; + return MVNC_OK; +} + +mvncStatus mvncGetDeviceOption(void *deviceHandle, int option, void *data, + unsigned int *dataLength) +{ + mvncStatus rc; + + if (deviceHandle == 0 && option == MVNC_LOG_LEVEL) { + PRINT("Warning: MVNC_LOG_LEVEL is not a Device Option, \ + please use mvncGetGlobalOption()!\n"); + return mvncGetGlobalOption(option, data, dataLength); + } + + if (!deviceHandle || !data || !dataLength) + return MVNC_INVALID_PARAMETERS; + + struct Device *d = (struct Device *) deviceHandle; + pthread_mutex_lock(&mm); + if (find_device(d)) { + pthread_mutex_unlock(&mm); + return MVNC_INVALID_PARAMETERS; + } + + pthread_mutex_lock(&d->mm); + pthread_mutex_unlock(&mm); + switch (option) { + case MVNC_TEMP_LIM_LOWER: + *(float *) data = d->temp_lim_lower; + *dataLength = sizeof(int); + break; + case MVNC_TEMP_LIM_HIGHER: + *(float *) data = d->temp_lim_upper; + *dataLength = sizeof(int); + break; + case MVNC_BACKOFF_TIME_NORMAL: + *(int *) data = d->backoff_time_normal; + *dataLength = sizeof(int); + break; + case MVNC_BACKOFF_TIME_HIGH: + *(int *) data = d->backoff_time_high; + *dataLength = sizeof(int); + break; + case MVNC_BACKOFF_TIME_CRITICAL: + *(int *) data = d->backoff_time_critical; + *dataLength = sizeof(int); + break; + case MVNC_TEMPERATURE_DEBUG: + *(int *) data = d->temperature_debug; + *dataLength = sizeof(int); + break; + case MVNC_THERMAL_STATS: + if (!d->thermal_stats) { + pthread_mutex_unlock(&d->mm); + return MVNC_NO_DATA; + } + *(float **) data = d->thermal_stats; + *dataLength = THERMAL_BUFFER_SIZE; + break; + case MVNC_OPTIMISATION_LIST: + rc = get_optimisation_list(d); + if (rc) { + pthread_mutex_unlock(&d->mm); + return rc; + } + *(char **) data = d->optimisation_list; + *dataLength = OPTIMISATION_LIST_BUFFER_SIZE; + break; + case MVNC_THERMAL_THROTTLING_LEVEL: + *(int *) data = d->throttle_happened; + *dataLength = sizeof(int); + break; + default: + pthread_mutex_unlock(&d->mm); + return MVNC_INVALID_PARAMETERS; + } + pthread_mutex_unlock(&d->mm); + + return MVNC_OK; +} + +static int send_opt_data(struct Graph *g) +{ + int config[10]; + + config[0] = 1; // Version + config[1] = 0; // Query disable + config[2] = g->iterations; + config[3] = g->dev->temp_lim_upper; + config[4] = g->dev->temp_lim_lower; + config[5] = g->dev->backoff_time_normal; + config[6] = g->dev->backoff_time_high; + config[7] = g->dev->backoff_time_critical; + config[8] = g->dev->temperature_debug; + config[9] = g->network_throttle; + + if (usblink_setdata(g->dev->usb_link, "config", config, sizeof(config), 0)) + return MVNC_ERROR; + + return MVNC_OK; +} + +mvncStatus mvncLoadTensor(void *graphHandle, const void *inputTensor, + unsigned int inputTensorLength, void *userParam) +{ + if (!graphHandle || !inputTensor || inputTensorLength < 2) + return MVNC_INVALID_PARAMETERS; + + struct Graph *g = (struct Graph *) graphHandle; + pthread_mutex_lock(&mm); + if (find_graph(graphHandle)) { + pthread_mutex_unlock(&mm); + return MVNC_INVALID_PARAMETERS; + } + + if (!g->started) { + if (send_opt_data(g)) { + pthread_mutex_unlock(&mm); + return MVNC_ERROR; + } + g->started = 1; + } + + while (g->have_data == 2) { + if (g->dont_block) { + pthread_mutex_unlock(&mm); + return MVNC_BUSY; + } + if (g->failed) { + pthread_mutex_unlock(&mm); + return MVNC_ERROR; + } + pthread_mutex_unlock(&mm); + usleep(1000); + pthread_mutex_lock(&mm); + if (find_graph(g)) { + pthread_mutex_unlock(&mm); + return MVNC_GONE; + } + } + pthread_mutex_lock(&g->dev->mm); + pthread_mutex_unlock(&mm); + + if (usblink_setdata(g->dev->usb_link, g->input_idx ? "input2" : "input1", + inputTensor, inputTensorLength, g->have_data == 0)) { + pthread_mutex_unlock(&mm); + return MVNC_ERROR; + } + + g->user_param[g->input_idx] = userParam; + g->input_idx = !g->input_idx; + g->have_data++; + pthread_mutex_unlock(&g->dev->mm); + return MVNC_OK; +} + +mvncStatus mvncGetResult(void *graphHandle, void **outputData, + unsigned int *outputDataLength, void **userParam) +{ + int rc, unlock_own = 0; + + if (!graphHandle || !outputData || !outputDataLength) + return MVNC_INVALID_PARAMETERS; + + struct Graph *g = (struct Graph *) graphHandle; + pthread_mutex_lock(&mm); + if (find_graph(graphHandle)) { + pthread_mutex_unlock(&mm); + return MVNC_INVALID_PARAMETERS; + } + + while (!g->have_data) { + if (g->dont_block) { + pthread_mutex_unlock(&mm); + return MVNC_NO_DATA; + } + pthread_mutex_unlock(&mm); + usleep(1000); + pthread_mutex_lock(&mm); + if (find_graph(g)) { + pthread_mutex_unlock(&mm); + return MVNC_GONE; + } + } + + double timeout = time_in_seconds() + STATUS_WAIT_TIMEOUT; + do { + pthread_mutex_lock(&g->dev->mm); + pthread_mutex_unlock(&mm); + if (!usblink_getdata(g->dev->usb_link, "output", g->output_data, + 2 * g->noutputs, 0, 0)) { + unsigned int length = DEBUG_BUFFER_SIZE + THERMAL_BUFFER_SIZE + + sizeof(int) + sizeof(*g->time_taken) * g->nstages; + + if (usblink_getdata(g->dev->usb_link, "auxBuffer", g->aux_buffer, + length, 0, g->have_data == 2)) { + g->failed = 1; + pthread_mutex_unlock(&g->dev->mm); + return MVNC_ERROR; + } + unlock_own = 1; + break; + } + pthread_mutex_unlock(&g->dev->mm); + usleep(1000); + pthread_mutex_lock(&mm); + if (find_graph(g)) { + pthread_mutex_unlock(&mm); + return MVNC_GONE; + } + } while (time_in_seconds() < timeout); + + g->dev->throttle_happened = *(int *) (g->aux_buffer + DEBUG_BUFFER_SIZE + + THERMAL_BUFFER_SIZE); + *outputData = g->output_data; + *outputDataLength = 2 * g->noutputs; + *userParam = g->user_param[g->output_idx]; + g->output_idx = !g->output_idx; + g->have_data--; + + if (unlock_own) { + rc = *g->debug_buffer ? MVNC_MYRIAD_ERROR : MVNC_OK; + if (rc) + g->failed = 1; + pthread_mutex_unlock(&g->dev->mm); + } else { + rc = MVNC_TIMEOUT; + g->failed = 1; + pthread_mutex_unlock(&mm); + } + + return rc; +} diff --git a/api/src/usb_boot.c b/api/src/usb_boot.c new file mode 100644 index 0000000..2f7cf27 --- /dev/null +++ b/api/src/usb_boot.c @@ -0,0 +1,335 @@ +/* +* Copyright 2017 Intel Corporation. +* The source code, information and material ("Material") contained herein is +* owned by Intel Corporation or its suppliers or licensors, and title to such +* Material remains with Intel Corporation or its suppliers or licensors. +* The Material contains proprietary information of Intel or its suppliers and +* licensors. The Material is protected by worldwide copyright laws and treaty +* provisions. +* No part of the Material may be used, copied, reproduced, modified, published, +* uploaded, posted, transmitted, distributed or disclosed in any way without +* Intel's prior express written permission. No license under any patent, +* copyright or other intellectual property rights in the Material is granted to +* or conferred upon you, either expressly, by implication, inducement, estoppel +* or otherwise. +* Any license under such intellectual property rights must be express and +* approved by Intel in writing. +*/ + +// USB utility for use with Myriad2v2 ROM +// Very heavily modified from Sabre version of usb_boot +// Author: David Steinberg + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "usb_boot.h" +#include "mvnc.h" +#include "common.h" + +#define DEFAULT_WRITE_TIMEOUT 2000 +#define DEFAULT_CONNECT_TIMEOUT 20 // in 100ms units +#define DEFAULT_CHUNK_SZ 1024 * 1024 + +static unsigned int bulk_chunk_len = DEFAULT_CHUNK_SZ; +static int write_timeout = DEFAULT_WRITE_TIMEOUT; +static int connect_timeout = DEFAULT_CONNECT_TIMEOUT; +static int initialized; + +void __attribute__ ((constructor)) usb_library_load() +{ + initialized = !libusb_init(NULL); +} + +void __attribute__ ((destructor)) usb_library_unload() +{ + if (initialized) + libusb_exit(NULL); +} + +typedef struct timespec highres_time_t; + +static inline void highres_gettime(highres_time_t *ptr) +{ + clock_gettime(CLOCK_REALTIME, ptr); +} + +static inline double highres_elapsed_ms(highres_time_t *start, highres_time_t *end) +{ + struct timespec temp; + if ((end->tv_nsec - start->tv_nsec) < 0) { + temp.tv_sec = end->tv_sec - start->tv_sec - 1; + temp.tv_nsec = 1000000000 + end->tv_nsec - start->tv_nsec; + } else { + temp.tv_sec = end->tv_sec - start->tv_sec; + temp.tv_nsec = end->tv_nsec - start->tv_nsec; + } + return (double)(temp.tv_sec * 1000) + (((double)temp.tv_nsec) * 0.000001); +} + +static const char *gen_addr(libusb_device *dev) +{ + static char buff[4 * 7] = ""; // '255-' x 7 (also gives us nul-terminator for last entry) + uint8_t pnums[7]; + int pnum_cnt, i; + char *p; + + pnum_cnt = libusb_get_port_numbers(dev, pnums, 7); + if (pnum_cnt == LIBUSB_ERROR_OVERFLOW) { + // shouldn't happen! + strcpy(buff, ""); + return buff; + } + p = buff; + for (i = 0; i < pnum_cnt - 1; i++) + p += snprintf(p, sizeof(buff) - strlen(buff), "%u.", pnums[i]); + snprintf(p, sizeof(buff) - strlen(buff), "%u", pnums[i]); + return buff; +} + +// if device is NULL, return device address for device at index idx +// if device is not NULL, search by name and return device struct +int usb_find_device(unsigned idx, char *addr, unsigned addr_size, void **device, + int vid, int pid) +{ + static libusb_device **devs; + libusb_device *dev; + struct libusb_device_descriptor desc; + int count = 0; + size_t i; + int res; + + if (!initialized) { + PRINT_INFO(stderr, + "Library has not been initialized when loaded\n"); + return MVNC_ERROR; + } + if (!devs || idx == 0) { + if (devs) { + libusb_free_device_list(devs, 1); + devs = 0; + } + if ((res = libusb_get_device_list(NULL, &devs)) < 0) { + PRINT_INFO(stderr, + "Unable to get USB device list: %s\n", + libusb_strerror(res)); + return MVNC_ERROR; + } + } + + i = 0; + while ((dev = devs[i++]) != NULL) { + if ((res = libusb_get_device_descriptor(dev, &desc)) < 0) { + PRINT_INFO(stderr, + "Unable to get USB device descriptor: %s\n", + libusb_strerror(res)); + continue; + } + if ((desc.idVendor == vid && desc.idProduct == pid) || + (pid == 0 && vid == 0 && ((desc.idVendor == DEFAULT_VID + && desc.idProduct == DEFAULT_PID) + || (desc.idVendor == + DEFAULT_OPEN_VID && + desc.idProduct == + DEFAULT_OPEN_PID)))) { + if (device) { + const char *caddr = gen_addr(dev); + if (!strcmp(caddr, addr)) { + PRINT_DEBUG(stderr, + "Found Address: %s - VID/PID %04x:%04x\n", + addr, desc.idVendor, desc.idProduct); + libusb_ref_device(dev); + libusb_free_device_list(devs, 1); + *device = dev; + devs = 0; + return 0; + } + } else if (idx == count) { + const char *caddr = gen_addr(dev); + PRINT_DEBUG(stderr, + "Device %d Address: %s - VID/PID %04x:%04x\n", + idx, caddr, desc.idVendor, desc.idProduct); + strncpy(addr, caddr, addr_size); + return 0; + } + count++; + } + } + libusb_free_device_list(devs, 1); + devs = 0; + return MVNC_DEVICE_NOT_FOUND; +} + +static libusb_device_handle *usb_open_device(libusb_device *dev, uint8_t *endpoint, + char *err_string_buff, unsigned buff_size) +{ + struct libusb_config_descriptor *cdesc; + const struct libusb_interface_descriptor *ifdesc; + libusb_device_handle *h = NULL; + int res, i; + + if ((res = libusb_open(dev, &h)) < 0) { + snprintf(err_string_buff, buff_size, "cannot open device: %s\n", + libusb_strerror(res)); + return 0; + } + if ((res = libusb_set_configuration(h, 1)) < 0) { + snprintf(err_string_buff, buff_size, + "setting config 1 failed: %s\n", libusb_strerror(res)); + libusb_close(h); + return 0; + } + if ((res = libusb_claim_interface(h, 0)) < 0) { + snprintf(err_string_buff, buff_size, + "claiming interface 0 failed: %s\n", + libusb_strerror(res)); + libusb_close(h); + return 0; + } + if ((res = libusb_get_config_descriptor(dev, 0, &cdesc)) < 0) { + snprintf(err_string_buff, buff_size, + "Unable to get USB config descriptor: %s\n", + libusb_strerror(res)); + libusb_close(h); + return 0; + } + + ifdesc = cdesc->interface->altsetting; + for (i = 0; i < ifdesc->bNumEndpoints; i++) { + PRINT_DEBUG(stderr, + "Found EP 0x%02x : max packet size is %u bytes\n", + ifdesc->endpoint[i].bEndpointAddress, + ifdesc->endpoint[i].wMaxPacketSize); + if ((ifdesc->endpoint[i].bmAttributes & LIBUSB_TRANSFER_TYPE_MASK) != + LIBUSB_TRANSFER_TYPE_BULK) + continue; + if (! + (ifdesc->endpoint[i].bEndpointAddress & LIBUSB_ENDPOINT_DIR_MASK)) { + *endpoint = ifdesc->endpoint[i].bEndpointAddress; + bulk_chunk_len = ifdesc->endpoint[i].wMaxPacketSize; + libusb_free_config_descriptor(cdesc); + return h; + } + } + libusb_free_config_descriptor(cdesc); + strcpy(err_string_buff, "Unable to find BULK OUT endpoint\n"); + libusb_close(h); + return 0; +} + +// timeout: -1 = no (infinite) timeout, 0 = must happen immediately +static int wait_findopen(const char *device_address, int timeout, + libusb_device ** dev, libusb_device_handle ** devh, + uint8_t * endpoint) +{ + int i, rc; + char last_open_dev_err[128]; + + usleep(100000); + if (mvnc_loglevel > 1) { + // I know about switch(), but for some reason -1 is picked up correctly + if (timeout == -1) + PRINT("Starting wait for connect, no timeout\n"); + else if (timeout == 0) + PRINT("Trying to connect\n"); + else + PRINT("Starting wait for connect with %ums timeout\n", timeout * 100); + } + + last_open_dev_err[0] = 0; + i = 0; + for (;;) { + rc = usb_find_device(0, (char *) device_address, 0, + (void **) dev, DEFAULT_VID, DEFAULT_PID); + if (rc < 0) + return MVNC_ERROR; + if (!rc) { + if ((*devh = usb_open_device(*dev, endpoint, last_open_dev_err, 128))) { + PRINT_DEBUG(stderr, "Found and opened device\n"); + return 0; + } + libusb_unref_device(*dev); + } + + if (timeout != -1 && i == timeout) { + PRINT_INFO(stderr, "%serror: device not found!\n", + last_open_dev_err[0] ? last_open_dev_err : ""); + return rc ? MVNC_DEVICE_NOT_FOUND : MVNC_TIMEOUT; + } + i++; + usleep(100000); + } +} + +static int send_file(libusb_device_handle * h, uint8_t endpoint, + const uint8_t * tx_buf, unsigned file_size) +{ + const uint8_t *p; + int rc; + int wb, twb, wbr; + double elapsed_time; + highres_time_t t1, t2; + + elapsed_time = 0; + twb = 0; + p = tx_buf; + PRINT_DEBUG(stderr, "Performing bulk write of %u bytes...\n", + file_size); + + while (twb < file_size) { + highres_gettime(&t1); + wb = file_size - twb; + if (wb > bulk_chunk_len) + wb = bulk_chunk_len; + wbr = 0; + rc = libusb_bulk_transfer(h, endpoint, (void *) p, wb, &wbr, + write_timeout); + + if (rc || (wb != wbr)) { + if (rc == LIBUSB_ERROR_NO_DEVICE) + break; + + PRINT_INFO(stderr, + "bulk write: %s (%d bytes written, %d bytes to write)\n", + libusb_strerror(rc), wbr, wb); + if (rc == LIBUSB_ERROR_TIMEOUT) + return MVNC_TIMEOUT; + else + return MVNC_ERROR; + } + highres_gettime(&t2); + elapsed_time += highres_elapsed_ms(&t1, &t2); + twb += wbr; + p += wbr; + } + PRINT_DEBUG(stderr, + "Successfully sent %u bytes of data in %lf ms (%lf MB/s)\n", + file_size, elapsed_time, + ((double) file_size / 1048576.) / (elapsed_time * 0.001)); + return 0; +} + +int usb_boot(const char *addr, const void *mvcmd, unsigned size) +{ + int rc; + libusb_device *dev; + libusb_device_handle *h; + uint8_t endpoint; + + rc = wait_findopen(addr, connect_timeout, &dev, &h, &endpoint); + if (rc) + return rc; + rc = send_file(h, endpoint, mvcmd, size); + libusb_release_interface(h, 0); + libusb_close(h); + libusb_unref_device(dev); + return rc; +} diff --git a/api/src/usb_boot.h b/api/src/usb_boot.h new file mode 100644 index 0000000..7659b5f --- /dev/null +++ b/api/src/usb_boot.h @@ -0,0 +1,21 @@ +/* +* Copyright 2017 Intel Corporation. +* The source code, information and material ("Material") contained herein is +* owned by Intel Corporation or its suppliers or licensors, and title to such +* Material remains with Intel Corporation or its suppliers or licensors. +* The Material contains proprietary information of Intel or its suppliers and +* licensors. The Material is protected by worldwide copyright laws and treaty +* provisions. +* No part of the Material may be used, copied, reproduced, modified, published, +* uploaded, posted, transmitted, distributed or disclosed in any way without +* Intel's prior express written permission. No license under any patent, +* copyright or other intellectual property rights in the Material is granted to +* or conferred upon you, either expressly, by implication, inducement, estoppel +* or otherwise. +* Any license under such intellectual property rights must be express and +* approved by Intel in writing. +*/ + +extern int mvnc_loglevel; +int usb_find_device(unsigned idx, char *addr, unsigned addrsize, void **device, int vid, int pid); +int usb_boot(const char *addr, const void *mvcmd, unsigned size); diff --git a/api/src/usb_link.h b/api/src/usb_link.h new file mode 100644 index 0000000..4c99f35 --- /dev/null +++ b/api/src/usb_link.h @@ -0,0 +1,28 @@ +/* +* Copyright 2017 Intel Corporation. +* The source code, information and material ("Material") contained herein is +* owned by Intel Corporation or its suppliers or licensors, and title to such +* Material remains with Intel Corporation or its suppliers or licensors. +* The Material contains proprietary information of Intel or its suppliers and +* licensors. The Material is protected by worldwide copyright laws and treaty +* provisions. +* No part of the Material may be used, copied, reproduced, modified, published, +* uploaded, posted, transmitted, distributed or disclosed in any way without +* Intel's prior express written permission. No license under any patent, +* copyright or other intellectual property rights in the Material is granted to +* or conferred upon you, either expressly, by implication, inducement, estoppel +* or otherwise. +* Any license under such intellectual property rights must be express and +* approved by Intel in writing. +*/ + +#include "USBLinkDefines.h" + +int usblink_sendcommand(void *f, hostcommands_t command); +int usblink_resetmyriad(void *f); +int usblink_getmyriadstatus(void *f, myriadStatus_t *myriadState); +void *usblink_open(const char *path); +void usblink_close(void *f); +int usblink_setdata(void *f, const char *name, const void *data, unsigned int length, int hostready); +int usblink_getdata(void *f, const char *name, void *data, unsigned int length, unsigned int offset, int hostready); +void usblink_resetall(); diff --git a/api/src/usb_link_vsc.c b/api/src/usb_link_vsc.c new file mode 100644 index 0000000..f5d267e --- /dev/null +++ b/api/src/usb_link_vsc.c @@ -0,0 +1,204 @@ +/* +* Copyright 2017 Intel Corporation. +* The source code, information and material ("Material") contained herein is +* owned by Intel Corporation or its suppliers or licensors, and title to such +* Material remains with Intel Corporation or its suppliers or licensors. +* The Material contains proprietary information of Intel or its suppliers and +* licensors. The Material is protected by worldwide copyright laws and treaty +* provisions. +* No part of the Material may be used, copied, reproduced, modified, published, +* uploaded, posted, transmitted, distributed or disclosed in any way without +* Intel's prior express written permission. No license under any patent, +* copyright or other intellectual property rights in the Material is granted to +* or conferred upon you, either expressly, by implication, inducement, estoppel +* or otherwise. +* Any license under such intellectual property rights must be express and +* approved by Intel in writing. +*/ + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "usb_link.h" +#include "usb_boot.h" +#include "common.h" + +#define USB_ENDPOINT_IN 0x81 +#define USB_ENDPOINT_OUT 0x01 +#define USB_TIMEOUT 10000 +#define USB_MAX_PACKET_SIZE 1024 * 1024 * 10 + +static int usb_write(void *f, const void *data, size_t size) +{ + while (size > 0) { + int bt, ss = size; + if (ss > USB_MAX_PACKET_SIZE) + ss = USB_MAX_PACKET_SIZE; + if (libusb_bulk_transfer(f, USB_ENDPOINT_OUT, (unsigned char *) data, ss, &bt, + USB_TIMEOUT)) + return -1; + data = (char *) data + bt; + size -= bt; + } + return 0; +} + +static int usb_read(void *f, void *data, size_t size) +{ + while (size > 0) { + int bt, ss = size; + if (ss > USB_MAX_PACKET_SIZE) + ss = USB_MAX_PACKET_SIZE; + if (libusb_bulk_transfer(f, USB_ENDPOINT_IN, data, ss, &bt, USB_TIMEOUT)) + return -1; + data = (char *) data + bt; + size -= bt; + } + return 0; +} + +void *usblink_open(const char *path) +{ + int rc; + libusb_device_handle *h = NULL; + libusb_device *dev; + + rc = usb_find_device(0, (char *) path, 0, (void **) &dev, + DEFAULT_OPEN_VID, DEFAULT_OPEN_PID); + if (rc < 0) + return 0; + + rc = libusb_open(dev, &h); + if (rc < 0) { + libusb_unref_device(dev); + return 0; + } + + libusb_unref_device(dev); + rc = libusb_claim_interface(h, 0); + if (rc < 0) { + libusb_close(h); + return 0; + } + return h; +} + +void usblink_close(void *f) +{ + libusb_release_interface(f, 0); + libusb_close(f); +} + +void usblink_resetall() +{ + libusb_device **devs; + libusb_device *dev; + struct libusb_device_descriptor desc; + libusb_device_handle *h; + size_t i; + int rc, reset = 0; + + if ((rc = libusb_get_device_list(NULL, &devs)) < 0) + return; + i = 0; + while ((dev = devs[i++]) != NULL) { + if (libusb_get_device_descriptor(dev, &desc) < 0) + continue; + if (desc.idVendor == DEFAULT_OPEN_VID && + desc.idProduct == DEFAULT_OPEN_PID) { + rc = libusb_open(dev, &h); + if (rc < -1) + continue; + rc = libusb_claim_interface(h, 0); + if (rc < 0) { + libusb_close(h); + continue; + } + PRINT_DEBUG(stderr, "Found stale device, resetting\n"); + usblink_resetmyriad(h); + usblink_close(h); + reset = 1; + } + } + if (reset) + usleep(1000000); + libusb_free_device_list(devs, 1); +} + +int usblink_setdata(void *f, const char *name, const void *data, + unsigned int length, int host_ready) +{ + usbHeader_t header; + memset(&header, 0, sizeof(header)); + header.cmd = USB_LINK_HOST_SET_DATA; + header.hostready = host_ready; + strcpy(header.name, name); + header.dataLength = length; + if (usb_write(f, &header, sizeof(header))) + return -1; + + unsigned int operation_permit = 0xFFFF; + if (usb_read(f, &operation_permit, sizeof(operation_permit))) + return -1; + + if (operation_permit != 0xABCD) + return -1; + int rc = usb_write(f, data, length); + return rc; +} + +int usblink_getdata(void *f, const char *name, void *data, unsigned int length, + unsigned int offset, int host_ready) +{ + usbHeader_t header; + memset(&header, 0, sizeof(header)); + header.cmd = USB_LINK_HOST_GET_DATA; + header.hostready = host_ready; + strcpy(header.name, name); + header.dataLength = length; + header.offset = offset; + if (usb_write(f, &header, sizeof(header))) + return -1; + + unsigned int operation_permit = 0xFFFF; + if (usb_read(f, &operation_permit, sizeof(operation_permit))) + return -1; + + if (operation_permit != 0xABCD) + return -1; + return usb_read(f, data, length); +} + +int usblink_resetmyriad(void *f) +{ + usbHeader_t header; + memset(&header, 0, sizeof(header)); + header.cmd = USB_LINK_RESET_REQUEST; + if (usb_write(f, &header, sizeof(header))) + return -1; + return 0; +} + +int usblink_getmyriadstatus(void *f, myriadStatus_t* myriad_state) +{ + usbHeader_t header; + memset(&header, 0, sizeof(header)); + header.cmd = USB_LINK_GET_MYRIAD_STATUS; + if (usb_write(f, &header, sizeof(header))) + return -1; + return usb_read(f, myriad_state, sizeof(*myriad_state)); +} From 163be9b462411802fba2ea7be4e18759a7dd6c11 Mon Sep 17 00:00:00 2001 From: Neal Smith Date: Tue, 24 Oct 2017 10:16:04 -0700 Subject: [PATCH 02/16] added references and links for the ncappzoo --- README.md | 2 ++ docs/README.md | 6 ++++++ docs/TOC.md | 2 ++ 3 files changed, 10 insertions(+) diff --git a/README.md b/README.md index fb9d913..b1d79d7 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,8 @@ Also included in the SDK are examples. After cloning and running 'make install' make examples ``` +For additional examples please see the Neural Compute App Zoo here: [http://www.github.com/movidius/ncappzoo](http://www.github.com/movidius/ncappzoo). The ncappzoo is a valuable resource for NCS users that includes community developed applications and neural networks for the NCS. + # Documentation The complete Neural Compute SDK documentation can be viewed at [https://movidius.github.io/ncsdk/](https://movidius.github.io/ncsdk/) diff --git a/docs/README.md b/docs/README.md index 5aad8c5..0ab63ba 100644 --- a/docs/README.md +++ b/docs/README.md @@ -87,5 +87,11 @@ git clone http://github.com/Movidius/ncsdk # Already done during installation ``` + +# Neural Compute App Zoo +The Neural Compute App Zoo is a github repository at [http://github.com/Movidius/ncappzoo](http://github.com/Movidius/ncappzoo) which is designed for developers to contribute networks and applications written for the Neural Compute Stick to the NCS community. + +See [The Neural Compute App Zoo README](https://github.com/Movidius/ncappzoo/blob/master/README.md) for more information. + [Release Notes](release_notes.md) diff --git a/docs/TOC.md b/docs/TOC.md index 56597e3..555f164 100644 --- a/docs/TOC.md +++ b/docs/TOC.md @@ -25,3 +25,5 @@ - Neural Compute User Forum - Examples + +- Neural Compute App Zoo From dd33d3b3a23798773db8f15861618d3a8af6bb46 Mon Sep 17 00:00:00 2001 From: Neal Smith Date: Thu, 26 Oct 2017 11:23:04 -0700 Subject: [PATCH 03/16] added batch normalization firmware support to release notes --- docs/release_notes.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/release_notes.md b/docs/release_notes.md index 1472bf7..5cf6bd9 100644 --- a/docs/release_notes.md +++ b/docs/release_notes.md @@ -62,6 +62,7 @@ Support for the following networks has been tested. 16. Power 17. Crop 18. ELU +19. Batch Normalization ## Bug Fixes: 1. USB protocol bug fixes, for expanded compatibility with hubs and hosts. In particular, fix for devices with maxpacket of 64. From b912be7c3578d856bc0f2311b5ad01faec224b98 Mon Sep 17 00:00:00 2001 From: Eman Copty Date: Wed, 1 Nov 2017 14:56:35 -0700 Subject: [PATCH 04/16] Changes for 1.10.00 release --- README.md | 16 +++--- api/src/mvnc/MvNCAPI.mvcmd | Bin 813376 -> 905640 bytes api/src/mvnc_api.c | 97 +++++++++++++++++++++++++------------ docs/Caffe.md | 40 +++++++-------- docs/TensorFlow.md | 35 +++++++++---- docs/configure_network.md | 85 ++++++++++++++++---------------- docs/install.md | 35 +++++++------ docs/ncs1arch.md | 12 ++--- docs/readme.md | 97 +++++++++++++++++++++++++++++++++++++ docs/release_notes.md | 80 ++++++++++++++++++------------ install.sh | 4 +- 11 files changed, 335 insertions(+), 166 deletions(-) create mode 100644 docs/readme.md diff --git a/README.md b/README.md index b1d79d7..ac2eca4 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,26 @@ -# Movidius™ Neural Compute Software Development Kit -This SDK is provided for users of the [Movidius™ Neural Compute Stick (NCS)](https://developer.movidius.com/). It provides software tools, an API, and examples which enable developers to create software that takes advantage of the hardware the accelerated neural network capability provided by the NCS. +# Intel® Movidius™ Neural Compute SDK +This Intel® Movidius™ Neural Compute software developer kit (NCSDK) is provided for users of the [Intel® Movidius™ Neural Compute Stick](https://developer.movidius.com/) (Intel® Movidius™ NCS). It includes software tools, an API, and examples, so developers can create software that takes advantage of the accelerated neural network capability provided by the Intel Movidius NCS hardware. # Installation -The provided Makefile helps with installation. Clone this repository and then run the following command to install the SDK. +The provided Makefile helps with installation. Clone this repository and then run the following command to install the NCSDK: ``` make install ``` # Examples -Also included in the SDK are examples. After cloning and running 'make install' run the following command to install examples. +The Neural Compute SDK also includes examples. After cloning and running 'make install,' run the following command to install the examples: ``` make examples ``` -For additional examples please see the Neural Compute App Zoo here: [http://www.github.com/movidius/ncappzoo](http://www.github.com/movidius/ncappzoo). The ncappzoo is a valuable resource for NCS users that includes community developed applications and neural networks for the NCS. +## NCAPPZOO Examples +For additional examples, please see the Neural Compute App Zoo available at [http://www.github.com/movidius/ncappzoo](http://www.github.com/movidius/ncappzoo). The ncappzoo is a valuable resource for NCS users and includes community developed applications and neural networks for the NCS. # Documentation -The complete Neural Compute SDK documentation can be viewed at [https://movidius.github.io/ncsdk/](https://movidius.github.io/ncsdk/) +The complete Intel Movidius Neural Compute SDK documentation can be viewed at [https://movidius.github.io/ncsdk/](https://movidius.github.io/ncsdk/) + +# Getting Started Video +For installation and general instructions to get started with the NCSDK, take a look at this [video](https://www.youtube.com/watch?v=fESFVNcQVVA) diff --git a/api/src/mvnc/MvNCAPI.mvcmd b/api/src/mvnc/MvNCAPI.mvcmd index c36b30b9b00590ff1122172632d129e9f27307ed..c26da409bf6efb63c766372f1153aaeab8af86af 100644 GIT binary patch delta 169562 zcmc${4_s7L-amfsxp)3Bz%U>n_;&_DMFy8hBt$;4c|;?_Uwp z-)`_d8~ed-{04t>w6`wyyZ;(o|L>IB2aWr){woF^S{@*vH10}O)5t4T?05ggIbcyU5KgnG(Ea20mzy^Yp;jt1 z{`CE2=YK@eg|f?4JqB;{)M$D{juFq-u4(xGN>xvpaPpprO{t`Z8WatG_1AxWrRqZM z8t0IabW>FAnz!}=czeV z=FH2ZI_H{u=*~DaH5}((;=&8`miT1x6<)n0a)Nk-`)CI7aRBCIVkUhd@SwI#+R7eu z)Zlc?rbbqacl^_An#78D#~)|Y73}eiF9^qE#~pc}b4J(SLCV^*lNvFs^$Z{V-76HlLQU zA~t|-0Zj}P?_WUIph%xz=sdoFKJFv!8^M{fkPZ#>OEJ+b=dOkHF4k<+ea>?WsgX4^ zTo;_$`)F*S876RZpxAaF{T*xEaG!JOB3jNGclQa-Yl~=9phfWg)WTXc4|R@QMdO`2 z@248}d)y-D{`>t@l*wg3qar)dLn@@>oCi!)0m0N`%A4CGGe~C=NQRbcs^Gcd{*7tM zbDlQ&cM4YMtHpFlp!duyn&RBI*uU9syVZl~3rffO^B3il&v#r4Q1#gg|-LBXpvVo&FVlI#7=;cLrKd zGt&vqH|B9n_%SyT+P>a>^331fkKElL-HGAc$ zfh7PVj~%EVQ%IKvMnU}@DEh>0AzdD*#YPz$sQuX(&W~5oIe}YIMFTsl|NXJy4;9h4 zK!eYV=!U?EjLrPdM-#_tstYuEWAy+(u-R%}SWF#0-bJ&&JWbnJGZbGdp;rRMZEO7R zjoJ^^(4Ii;(Y5|rh9>y?S~@$DRf{W|r~Q_`>Qj#5O6R#9G{r_py@rq+OLlQi;nUXT z#hI%LmlOYg&l|qET-C6lAZ6XGvbrO&@uwSU3Is+0F!tolRt#j2kk zyjbcuV1dZgufB{FIP=OIq*7!{Pl8`2A2Vs36~j{ ztqA}0HxN-S!_|uG6s`_j-MISixBds}aanU#KE0fzq)hbx@4mI!%L|`gRXp*jRhBg? zmp?u6iB*MbSFK!AlE12O;?pZ~)-IoDSzc7K;vQ5#{=}-{l#&hDY&NMx(nAdTxsNiRJ2P?B@ZrIK$@rhj#9yyu}C(=`1-e( ztKP)*2VBj#-of=gt`Be>!}Uj8pWym4uD{^=E3Uuc`WjdE><6+5an5wo(FxDD8ZK73 z_8GOy<;Lz@wb7L;Uv`PUkilQ9QkUD8U7CI-W5&g1!)}_zjXX~*fA7#L&uc6v9WRTXPS5HeT5J=*8yeoHU)2J?JZYcGAmKR_rSuewE5N9-QXfRz-81KMvzZ39If6 zzUUl1oIf$l_h8Kv?4ecj1|Hfq4-ftGE_y#FZ^&J};E9XQrq}5S=ld>NExTCt3Nwm;al1uo3s0Yi&f3sMH(-6{^$2}kMPrebU>@^ zF+#(;DC$G`D{|SZ?SW=vbcd4V^8MBt(Ivho9!`z+_y~k{=@2W^3Rw1-f>K`yrhTzw%jAFDCfS z9rjaUu)LUHUn=+M>4A#UrO~%nIF^p}h!aYUWl>zC?*ttESdV3Z} zIzif#(IW>)dweUO00zbroLjf@4+o0>v6a7%kpmL$dY&H{AaW^++Q4YxS~i+gJKZ

    V|ty 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

      ^Z>It|X_|h;z;~wcX^wTaUdJT7I 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 JQE@r! diff --git a/api/src/mvnc_api.c b/api/src/mvnc_api.c index 8298bc6..b2743ee 100644 --- a/api/src/mvnc_api.c +++ b/api/src/mvnc_api.c @@ -137,21 +137,13 @@ static int is_device_opened(const char *name) return -1; } -mvncStatus mvncOpenDevice(const char *name, void **deviceHandle) +static mvncStatus load_fw_file(const char *name) { int rc; FILE *fp; char *tx_buf; unsigned file_size; char mv_cmd_file[MAX_PATH_LENGTH], *p; - char name2[MVNC_MAX_NAME_SIZE] = ""; - - if (!name || !deviceHandle) - return MVNC_INVALID_PARAMETERS; - - pthread_mutex_lock(&mm); - if (!initialized) - initialize(); // Search the mvnc executable in the same directory of this library, under mvnc Dl_info info; @@ -202,13 +194,73 @@ mvncStatus mvncOpenDevice(const char *name, void **deviceHandle) } PRINT_DEBUG(stderr, "Boot successful, device address %s\n", name); + return MVNC_OK; +} + +static void allocate_device(const char* name, void **deviceHandle, void* f) +{ + struct Device *d = calloc(1, sizeof(*d)); + d->dev_addr = strdup(name); + d->usb_link = f; + d->next = devices; + d->temp_lim_upper = 95; + d->temp_lim_lower = 85; + d->backoff_time_normal = 0; + d->backoff_time_high = 100; + d->backoff_time_critical = 10000; + d->temperature_debug = 0; + pthread_mutex_init(&d->mm, 0); + devices = d; + *deviceHandle = d; + + PRINT_DEBUG(stderr, "done\n"); + PRINT_INFO(stderr, "Booted %s -> %s\n", + d->dev_addr, + d->dev_file ? d->dev_file : "VSC"); +} + +mvncStatus mvncOpenDevice(const char *name, void **deviceHandle) +{ + int rc; + char name2[MVNC_MAX_NAME_SIZE] = ""; + char* device_name; + char* saved_name = NULL; + char* temp = NULL; //save to be able to free memory + int second_name_available = 0; + + if (!name || !deviceHandle) + return MVNC_INVALID_PARAMETERS; + + temp = saved_name = strdup(name); + + device_name = strtok_r(saved_name, ":", &saved_name); + if (device_name == NULL) { + free(temp); + return MVNC_INVALID_PARAMETERS; + } + + pthread_mutex_lock(&mm); + if (!initialized) + initialize(); + + + rc = load_fw_file(device_name); + if (rc != MVNC_OK) { + free(temp); + return rc; + } + if (strlen(saved_name) > 0) { + device_name = strtok_r(NULL, ":", &saved_name); + second_name_available = 1; + } // Now we should have a new /dev/ttyACM, try to open it double waittm = time_in_seconds() + STATUS_WAIT_TIMEOUT; while (time_in_seconds() < waittm) { - void *f = usblink_open(name); + void *f = usblink_open(device_name); - if (f == NULL) { //we might fail in case name changed after boot + //we might fail in case name changed after boot and we don't have it + if (f == NULL && !second_name_available) { int count = 0; while (1) { name2[0] = '\0'; @@ -232,25 +284,8 @@ mvncStatus mvncOpenDevice(const char *name, void **deviceHandle) myriadStatus_t status; if (!usblink_getmyriadstatus(f, &status) && status == MYRIAD_WAITING) { - struct Device *d = calloc(1, sizeof(*d)); - d->dev_addr = strlen(name2) > 0 ? strdup(name2) - : strdup(name); - d->usb_link = f; - d->next = devices; - d->temp_lim_upper = 95; - d->temp_lim_lower = 85; - d->backoff_time_normal = 0; - d->backoff_time_high = 100; - d->backoff_time_critical = 10000; - d->temperature_debug = 0; - pthread_mutex_init(&d->mm, 0); - devices = d; - *deviceHandle = d; - - PRINT_DEBUG(stderr, "done\n"); - PRINT_INFO(stderr, "Booted %s -> %s\n", - d->dev_addr, - d->dev_file ? d->dev_file : "VSC"); + allocate_device(strlen(name2) > 0 ? name2 : device_name, deviceHandle, f); + free(temp); pthread_mutex_unlock(&mm); return MVNC_OK; } else { @@ -262,7 +297,7 @@ mvncStatus mvncOpenDevice(const char *name, void **deviceHandle) // Error opening it, continue searching usleep(10000); } - + free(temp); pthread_mutex_unlock(&mm); return MVNC_ERROR; } diff --git a/docs/Caffe.md b/docs/Caffe.md index ce3c915..fea53db 100644 --- a/docs/Caffe.md +++ b/docs/Caffe.md @@ -1,22 +1,22 @@ # Caffe Support ## Introduction -[Caffe](http://caffe.berkeleyvision.org/) is a deep learning framework developed by Berkeley AI Research ([BAIR](http://bair.berkley.edu)) and by community contributors. The setup script currently downloads BVLC Caffe and installs it in a system location. Other versions of Caffe are not supported at this time. For more information please visit http://caffe.berkeleyvision.org/ +[Caffe](http://caffe.berkeleyvision.org/) is a deep learning framework developed by Berkeley AI Research ([BAIR](http://bair.berkley.edu)) and by community contributors. The setup script currently downloads Berkley Vision and Learning Center (BVLC) Caffe and installs it in a system location. Other versions of Caffe are not supported at this time. For more information, please visit http://caffe.berkeleyvision.org/. -Default Caffe Installation Location: /opt/movidius/caffe
      -Checkout Berkley Vision's Web Image Classification [demo](http://demo.caffe.berkeleyvision.org/) +* Default Caffe installation location: /opt/movidius/caffe
      +* Check out Berkley Vision's Web Image Classification [demo](http://demo.caffe.berkeleyvision.org/) ## Caffe Zoo -Berkley Vision hosts a Caffe Model Zoo for researchers and engineers to contribute Caffe models for various tasks. Please visit the [Berkley Caffe Zoo](http://caffe.berkeleyvision.org/model_zoo.html) page to learn more about the caffe zoo and how to create your own Caffe Zoo model and contribute. +Berkley Vision hosts a Caffe Model Zoo for researchers and engineers to contribute Caffe models for various tasks. Please visit the [Berkley Caffe Zoo](http://caffe.berkeleyvision.org/model_zoo.html) page to learn more about the caffe zoo, how to create your own Caffe Zoo model, and contribute. -Caffe Zoo has several models contributed including a model network that can classify images for Age and Gender. This network trained by [Gil Levi](https://gist.github.com/GilLevi) and Tal Hassner is at this [Gender Net Caffe Zoo Model on GitHub](https://gist.github.com/GilLevi/c9e99062283c719c03de) +Caffe Zoo has several models contributed, including a model network that can classify images for age and gender. This network, trained by [Gil Levi](https://gist.github.com/GilLevi) and Tal Hassner, is available at [Gender Net Caffe Zoo Model on GitHub](https://gist.github.com/GilLevi/c9e99062283c719c03de). -Caffe models consists of two files that are used for compiling the caffe model using the [Neural Compute Compiler](tools/compile.md) -* Caffe Network Description (.prototxt): Text file that describes the topology and layers of the network. -* Caffe Weights (.caffemodel): Contains the weights for each layer that are obtained after training a model. +Caffe models consists of two files that are used for compiling the caffe model using the [Neural Compute Compiler](tools/compile.md). +* Caffe Network Description (.prototxt): Text file that describes the topology and layers of the network +* Caffe Weights (.caffemodel): Contains the weights for each layer that are obtained after training a model ## Neural Compute Caffe Layer Support -The following layers are supported in Caffe by the Neural Compute SDK. The Neural Compute Stick does not support training, so some layers that are only required for training are not supported. +The following layers are supported in Caffe by the Intel® Movidius™ Neural Compute SDK. The Intel® Movidius™ Neural Compute Stick does not support training, so some layers that are only required for training are not supported. ### Activation/Neuron * bias @@ -45,7 +45,7 @@ The following layers are supported in Caffe by the Neural Compute SDK. The Neur ### Vision * conv - * Regular Convolution - 1x1s1, 3x3s1, 5x5s1, 7x7s1, 7x7s2, 7x7s4 + * Regular Convolution - 1x1s1, 3x3s1, 5x5s1, 7x7s1, 7x7s2, 7x7s4 * Group Convolution - <1024 groups total * deconv * pooling @@ -53,7 +53,7 @@ The following layers are supported in Caffe by the Neural Compute SDK. The Neur # Known Issues ### Caffe Input Layer -Limitation: Batch Size which is the first dimension must always be 1 +Limitation: Batch Size, which is the first dimension, must always be 1 Limitation: The number of inputs must be 1 @@ -80,14 +80,14 @@ input: "data" ### Input Name Input name should be always called "data" -This works +This works: ``` name: "GoogleNet" input: "data" input_shape { dim:1 dim:3 dim:224 dim:224 } ``` -This does not +This does not: ``` name: "GoogleNet" input: "data_x" @@ -96,7 +96,7 @@ input: "data_x" ``` ### Non-Square Convolutions -Limitation: We don't support non-square convolutions such as 1x20 +Limitation: We don't support non-square convolutions such as 1x20. ``` input: "data" input_shape @@ -115,7 +115,7 @@ layer { ``` ### Crop Layer -Limitation: Crop layer cannot take reference size layer from input:"data" +Limitation: Crop layer cannot take reference size layer from input:"data". ``` layer { @@ -132,24 +132,24 @@ layer { ``` ### Size Limitations -Compiled Movidius™ "graph" file < 320MB -Intermediate layer buffer size < 100MB +Compiled Movidius "graph" file < 320 MB; +Intermediate layer buffer size < 100 MB ``` [Error 35] Setup Error: Not enough resources on Myriad to process this network ``` -Scratch Memory size < 112KB +Scratch Memory size < 112 KB ``` [Error 25] Myriad Error: "Matmul scratch memory [112640] lower than required [165392]" ``` ## Caffe Networks -The following networks are validated and known to work on the Movidius™ Neural Compute SDK. +The following networks are validated and known to work on the Intel Movidius Neural Compute SDK: - GoogleNet V1 - SqueezeNet V1.1 - LeNet - CaffeNet - VGG (Sousmith VGG_A) - AlexNet - +- TinyYolo v1 diff --git a/docs/TensorFlow.md b/docs/TensorFlow.md index 4b01aec..2ddcd5d 100644 --- a/docs/TensorFlow.md +++ b/docs/TensorFlow.md @@ -1,14 +1,14 @@ # TensorFlow™ Support # Introduction -[TensorFlow™](https://www.tensorflow.org/) is a deep learning framework pionered by Google. The NCSDK introduced TensorFlow™ support with the 1.09.xx NCSDK release. Validation has been done with TensorFlow™ r1.3. The TensorFlow™ website describes it as "TensorFlow™ is an open source software library for numerical computation using data flow graphs. Nodes in the graph represent mathematical operations, while the graph edges represent the multidimensional data arrays (tensors) communicated between them." +[TensorFlow™](https://www.tensorflow.org/) is a deep learning framework pioneered by Google. The NCSDK introduced TensorFlow support with the 1.09.xx NCSDK release. Validation has been done with TensorFlow r1.3. As described on the TensorFlow website, "TensorFlow™ is an open source software library for numerical computation using data flow graphs. Nodes in the graph represent mathematical operations, while the graph edges represent the multidimensional data arrays (tensors) communicated between them." -Default Installation Location: /opt/movidius/tensorflow +* Default installation location: /opt/movidius/tensorflow -# TensorFlow™ Model Zoo -TensorFlow™ has a model GitHub repo at https://github.com/tensorflow/models similar to the Caffe Zoo for Caffe. The TensorFlow™ models GitHub repository contains several models which are maintained by the respective autors unlike Caffe which is not a single GitHub repo. +# TensorFlow Model Zoo +TensorFlow has a model GitHub repo at https://github.com/tensorflow/models similar to the Caffe Zoo for Caffe. The TensorFlow models GitHub repository contains several models that are maintained by the respective authors, unlike Caffe, which is not a single GitHub repo. -# Save Session with graph and checkpoint information +# Save Session with Graph and Checkpoint Information ```python import numpy as np @@ -33,20 +33,35 @@ def run(name, image_size, num_classes): run('inception-v1', 224, 1001) ``` -# Compile for TensorFlow™ +# Compile for TensorFlow ``` mvNCCompile output/inception-v1.meta -in=input -on=InceptionV1/Logits/Predictions/Reshape_1 -s12 ``` -# Neural Compute TensorFlow™ Layer Support - -# TensorFlow™ Networks Supported +# TensorFlow Networks Supported * Inception V1 +* Inception V2 * Inception V3 * Inception V4 * Inception ResNet V2 -* MobileNet +* MobileNet_v1_1.0 variants: + * MobileNet_v1_1.0_224 + * MobileNet_v1_1.0_192 + * MobileNet_v1_1.0_160 + * MobileNet_v1_1.0_128 + * MobileNet_v1_0.75_224 + * MobileNet_v1_0.75_192 + * MobileNet_v1_0.75_160 + * MobileNet_v1_0.75_128 + * MobileNet_v1_0.5_224 + * MobileNet_v1_0.5_192 + * MobileNet_v1_0.5_160 + * MobileNet_v1_0.5_128 + * MobileNet_v1_0.25_224 + * MobileNet_v1_0.25_192 + * MobileNet_v1_0.25_160 + * MobileNet_v1_0.25_128 diff --git a/docs/configure_network.md b/docs/configure_network.md index c57f455..745dd06 100644 --- a/docs/configure_network.md +++ b/docs/configure_network.md @@ -1,27 +1,24 @@ -# Configuring your network for NCS -This guide will help you get all of the configuration information correct when creating your network for the Movidius Neural Compute Stick. All of these parameters are critical, if you don't get them right, your network won't give you the accuracy that was achieved by the team that trained the model. The configuration parameters include: -* mean subtraction -* scale -* color channel configuration -* class prediction -* input image size +# Configuring Your Network for Intel® Movidius™ NCS +This guide will help you get all of the configuration information correct when creating your network for the Intel® Movidius™ Neural Compute Stick (Intel® Movidius™ NCS). All of these parameters are critical. If you don't get them right, your network won't give you the accuracy that was achieved by the team that trained the model. The configuration parameters are as follows: +* Mean subtraction +* Scale +* Color channel configuration +* Class prediction +* Input image size -**let's go through these one at a time** +**Let's go through these one at a time.** ## Mean Subtraction -mean substraction on the input data to a CNN is a common technique. The mean is calculated on the data set. For example on Imagenet the mean is calculated on a per channel basis to be: +Mean subtraction on the input data to a convolutional neural network (CNN) is a common technique. The mean is calculated on the data set. For example, the mean on Imagenet is calculated on a per channel basis to be: ``` 104, 117, 123 -these numbers are in BGR orientation +These numbers are in BGR orientation. ``` ### Caffe Specific Examples -this mean calculation can be calculated with a tool that comes with caffe: -[compute_image_mean.cpp](https://github.com/BVLC/caffe/blob/master/tools/compute_image_mean.cpp), -and Caffe provides a script to do it as well: -[make_imagenet_mean.sh](https://github.com/BVLC/caffe/blob/master/examples/imagenet/make_imagenet_mean.sh) +This mean calculation can be calculated with a tool that comes with caffe ([compute_image_mean.cpp](https://github.com/BVLC/caffe/blob/master/tools/compute_image_mean.cpp)). Caffe provides a script to do it, as well ([make_imagenet_mean.sh](https://github.com/BVLC/caffe/blob/master/examples/imagenet/make_imagenet_mean.sh)). --- -this will create an output file often called mean_binary.proto. You can see an example of this in the training prototxt file for AlexNet +This will create an output file often called mean_binary.proto. You can see an example of this in the training prototxt file for AlexNet: [train_val.prototxt](https://github.com/BVLC/caffe/blob/master/models/bvlc_alexnet/train_val.prototxt) ``` @@ -32,7 +29,7 @@ this will create an output file often called mean_binary.proto. You can see an } ``` --- -in the GoogLeNet prototxt file they have just put the values directly: +In the GoogLeNet prototxt file, they have put in the values directly: [train_val.prototxt](https://github.com/BVLC/caffe/blob/master/models/bvlc_googlenet/train_val.prototxt) ``` @@ -46,7 +43,7 @@ in the GoogLeNet prototxt file they have just put the values directly: } ``` --- -some models don't use mean subtraction, see below for LeNet as an example. There is no mean in the transform_param, but there is a scale which we'll get to later +Some models don't use mean subtraction. See the LeNet example below. There is no mean in the transform_param, but there is a scale that we'll get to later: [lenet_train_test.prototxt](https://github.com/BVLC/caffe/blob/master/examples/mnist/lenet_train_test.prototxt) ``` @@ -54,27 +51,28 @@ some models don't use mean subtraction, see below for LeNet as an example. Ther scale: 0.00390625 } ``` -### TensorFlow specific examples -TensorFlow documentation of mean is not as straight forward as Caffe. The TensorFlow Slim models for image classification are a great place to get high quality pre-trained models: +### TensorFlow™ Specific Examples +TensorFlow™ documentation of mean is not as straightforward as Caffe. The TensorFlow Slim models for image classification are a great place to get high quality pre-trained models: [slim models](https://github.com/tensorflow/models/tree/master/research/slim#pre-trained-models) -I could find this the following file the mean (and scale) for both Inception V3 and MobileNet V1 +The following file is the mean (and scale) for both Inception V3 and MobileNet V1: [retrain script](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/image_retraining/retrain.py#L872) ``` input_mean = 128 ``` -in the case of the InceptionV3 model there is not a per color channel mean, the same mean is used for all channels. This mean should apply to all of the Inception and MobileNet models, but other models there might be different. -for example, the VGG16 model just had the weights converted from Caffe. If we look at the link to the VGG16 for Caffe page, we see the means are done like the other Caffe models: +In the case of the Inception V3 model, there is not a per color channel mean. The same mean is used for all channels. This mean should apply to all of the Inception and MobileNet models, but other models might be different. + +For example, the VGG16 model had the weights converted from Caffe. If we look at the link to the VGG16 for Caffe page, we see the means are done like the other Caffe models: ``` https://gist.github.com/ksimonyan/211839e770f7b538e2d8#description -the following BGR values should be subtracted: [103.939, 116.779, 123.68] +The following BGR values should be subtracted: [103.939, 116.779, 123.68] ``` ## Scale -typical 8 bit per pixel per channel images will have a scale of 0-255. Many CNN networks use the native scale, but some don't. As was seen in a snippet of the Caffe prototxt file, the **transform_param** would show whether there was a scale. In the example of LeNet for Caffe, you can see it has a scale pameter of **0.00390625** +Typical 8-bit per pixel per channel images will have a scale of 0-255. Many CNN networks use the native scale, but some don't. As was seen in a snippet of the Caffe prototxt file, the **transform_param** would show whether there was a scale. In the example of LeNet for Caffe, you can see it has a scale pameter of **0.00390625**. [lenet_train_test.prototxt](https://github.com/BVLC/caffe/blob/master/examples/mnist/lenet_train_test.prototxt) ``` @@ -82,36 +80,37 @@ typical 8 bit per pixel per channel images will have a scale of 0-255. Many CNN scale: 0.00390625 } ``` - this may seem like a strange number, but it is actually just 1/256. So the input 8 bit image is being scaled down to an image from 0-1 instead of 0-255 +This may seem like a strange number, but it is actually just 1/256. The input 8-bit image is being scaled down to an image from 0-1 instead of 0-255. --- -Back to the example of TensorFlow for Inception V3. Below the **input_mean** the **input_std** is also listed. All this is is a scaling factor. You divide 255/128 and it's about 2. So in this case, the scale is two, but the mean subtraction is 128. So in the end the scale is actually -1 to 1 +Regarding the example of TensorFlow for Inception V3, the **input_mean** the **input_std** are listed below. This is a scaling factor. You divide 255/128, and it's about 2. In this case, the scale is two, but the mean subtraction is 128. In the end, the scale is actually -1 to 1. [retrain script](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/image_retraining/retrain.py#L872) ``` input_mean = 128 input_std = 128 ``` -## Color Channel configuration -different models may be trained with different color channel orientations (either RGB or BGR). Typically Caffe models seem to be trained with BGR whereas the Slim TensorFlow models (at least Inception and MobileNet) are trained in RGB. +## Color Channel Configuration +Different models may be trained with different color channel orientations (either RGB or BGR). Typically, Caffe models seem to be trained with BGR, whereas the Slim TensorFlow models (at least Inception and MobileNet) are trained in RGB. -Once you figure out the color channel orientation for your model, you will need to know the way the image is loaded. For example opencv will open images in BGR but skimiage will open the image in RGB. +Once you figure out the color channel orientation for your model, you will need to know the way the image is loaded. For example, opencv will open images in BGR, but skimiage will open the image in RGB. ``` -skimage.io.imread will open the image in RGB -cv2.imread will open the image in BGR -Caffe trained models will probably be BGR -TensorFlow trained models will probably be in RGB +* skimage.io.imread will open the image in RGB +* cv2.imread will open the image in BGR +* Caffe trained models will probably be BGR +* TensorFlow trained models will probably be in RGB ``` ## Categories -for models that are trained on the Imagenet database, some have 1000 output classes, and some have 1001 output classes. The extra output class is a background class. The list below has the list of the 1000 classes not including the background. +For models that are trained on the ImageNet database, some have 1000 output classes and some have 1001 output classes. The extra output class is a background class. The following list has the list of the 1000 classes not including the background: [synset_words.txt](https://github.com/HoldenCaulfieldRye/caffe/blob/master/data/ilsvrc12/synset_words.txt) -Most Caffe trained models seem to follow the 1000 class convention, and TensorFlow trained models follow the 1001 class convention. So for the TensorFlow models, an offset needs to be added. You can see this as documented in the TensorFlow github [here](https://github.com/tensorflow/models/tree/master/research/slim#the-resnet-and-vgg-models-have-1000-classes-but-the-imagenet-dataset-has-1001) -# Putting it all together -now with all of these factors, let's go through two examples +Most Caffe trained models seem to follow the 1000 class convention, and TensorFlow trained models follow the 1001 class convention. For the TensorFlow models, an offset needs to be added. You can see this documented in the [TensorFlow GitHub](https://github.com/tensorflow/models/tree/master/research/slim#the-resnet-and-vgg-models-have-1000-classes-but-the-imagenet-dataset-has-1001). + +# Putting It All Together +Now with all of these factors, let's go through two examples. ## Caffe Example -let's use the Berkeley Caffe GoogLeNet model as an example. the basic model parameters are: +Let's use the Berkeley Caffe GoogLeNet model as an example. The basic model parameters are: ``` Scale: 0-255 (before mean subtraction) Mean: based on mean_binary.proto file @@ -120,7 +119,7 @@ output categories: 1000 input size: 224x224 labels_offset=0 ``` -code snippet: +Code snippet: ``` #load the label files labels_offset=0 # no background class offset @@ -144,8 +143,8 @@ for i in range(0,5): print ('prediction ' + str(i) + ' is ' + labels[order[i]-labels_offset]) ``` -## TensorFlow example -let's use the TensorFlow Slim Inception V3 +## TensorFlow Example +Let's use the TensorFlow Slim Inception V3: ``` Scale: -1 to 1 (after mean subtraction) Mean: 128 @@ -154,7 +153,7 @@ output categories: 1001 input size: 299x299 labels_offset=1 ``` -code snippet: +Code snippet: ``` #load the label files labels_offset=1 # background class offset of 1 @@ -181,4 +180,4 @@ for i in range(0,5): print ('prediction ' + str(i) + ' is ' + labels[order[i]-labels_offset]) ``` -feedback or comments? let me know darren.s.crews@intel.com +Feedback or comments? Let me know at darren.s.crews@intel.com. diff --git a/docs/install.md b/docs/install.md index 8b1bdc7..cfeb4d2 100644 --- a/docs/install.md +++ b/docs/install.md @@ -1,56 +1,55 @@ # Installation and Configuration -This page provides installation and configuration information needed to use the NCS and the examples provided in this repository. To use the NCS you will need to have the Movidius™ Neural Compute SDK installed on your development computer. The SDK installation provides an option to install the examples in this repostitory. If you've already installed the SDK on your development computer you may have selected the option to also install these examples. If you have not already installed the SDK you should follow the instructions in the Example Installation with SDK section in this page, and when prompted select the option to install the examples. +This page provides installation and configuration information needed to use the Intel® Movidius™ Neural Compute Stick (Intel® Movidius™ NCS) and the examples provided in this repository. To use the Intel Movidius NCS, you will need to have the Intel Movidius Neural Compute SDK installed on your development computer. The SDK installation provides an option to install the examples in this repository. If you've already installed the SDK on your development computer, you may have selected the option to also install these examples. If you have not already installed the SDK, you should follow the instructions in the Installation of SDK and Examples section on this page. When prompted, select the option to install the examples. ## Prerequisites -To build and run the examples in this repository you will need to have the following. -- Movidius™ Neural Compute Stick (NCS) -- Movidius™ Neural Compute SDK -- Development Computer with Supported OS +To build and run the examples in this repository, you will need to have the following: +- Intel Movidius Neural Compute Stick +- Intel Movidius Neural Compute SDK +- Development computer with supported OS - x86-64 with Ubuntu (64 bit) 16.04 Desktop - Raspberry Pi 3 with Raspian Stretch (starting with SDK 1.09.xx) - See [Upgrade Raspian Jessie to Stretch](https://linuxconfig.org/how-to-upgrade-debian-8-jessie-to-debian-9-stretch) - Virtual Machine per the [supported VM configuration](VirtualMachineConfig.md) -- Internet Connection. -- USB Camera (optional) +- Internet connection +- USB camera (optional) -## Connecting the NCS to a development computer -The NCS connects to the development computer over a USB 2.0 High Speed interface. Plug the NCS directly to a USB port on your development computer or into a powered USB hub that is plugged into your development computer. +## Connecting the Intel Movidius NCS to a Development Computer +The Intel Movidius NCS connects to the development computer over a USB 2.0 High Speed interface. Plug the Intel Movidius NCS directly to a USB port on your development computer or into a powered USB hub that is plugged into your development computer. ![](images/ncs_plugged.jpg) -## Installation SDK and examples -To install the SDK along with the examples in this repository use the following command on your development computer. This is the typical installation. If you haven't already installed the SDK on your development computer you should use this command to install. +## Installation of SDK and Examples +To install the SDK along with the examples in this repository, use the following command on your development computer. This is the typical installation. If you haven't already installed the SDK on your development computer, you should use this command to install: ``` git clone http://github.com/Movidius/ncsdk && cd ncsdk && make install && make examples ``` -## Installation of examples without SDK -To install only the examples and not the SDK on your development computer use the following command to clone the repository and then make appropriate examples for your development computer. If you already have the SDK installed and only need the examples on your machine you should use this command to install. +## Installation of Examples without SDK +To install only the examples and not the SDK on your development computer, use the following command to clone the repository and then make appropriate examples for your development computer. If you already have the SDK installed and only need the examples on your machine, you should use this command to install the examples: ``` git clone http://github.com/Movidius/ncsdk && cd ncsdk && make examples ``` ## Building Individual Examples -Whether installing with the SDK or without it, both methods above will install and build the examples that are appropriate for your development system including prerequisite software. Each example comes with its own Makefile that will install only that specific example and any prerequisites that it requires. To install and build any individual example run the 'make' command from within that example's base directory. For example to build the GoogLeNet examples type the following command. +Whether installing with the SDK or without it, both methods above will install and build the examples that are appropriate for your development system, including prerequisite software. Each example comes with its own Makefile that will install only that specific example and any prerequisites that it requires. To install and build any individual example, run the 'make' command from within that example's base directory. For example, to build the GoogLeNet examples, type the following command: ``` cd examples/Caffe/GoogLeNet && make ``` -The Makefile for each example also has a 'help' target which will display all possible targets. To see all possible targets for any example use the following command from within the examples top directory. +The Makefile for each example also has a 'help' target that will display all possible targets. To see all possible targets for any example, use the following command from within the examples top directory: ``` make help ``` ## Uninstallation -To uninstall the SDK type the following command. +To uninstall the SDK, type the following command: ``` make uninstall ``` - ## Installation Manifest -For the list of files that 'make install' will modify on your system (outside of the repository) see the [installation manifest](manifest.md). +For the list of files that 'make install' will modify on your system (outside of the repository), see the [installation manifest](manifest.md). diff --git a/docs/ncs1arch.md b/docs/ncs1arch.md index 60e4339..c91b3eb 100644 --- a/docs/ncs1arch.md +++ b/docs/ncs1arch.md @@ -1,18 +1,18 @@ # Introduction -The following explains how the Neural Compute SDK works on compiling and executing a given Caffe or TensorFlow™ Neural Network on the Neural Compute Stick. +The Neural Compute SDK works on compiling and executing a given Caffe or TensorFlow™ Neural Network on the Intel® Movidius™ Neural Compute Stick (Intel® Movidius™ NCS). Read on for a detailed explanation. # Architecture Details -The following diagram shows the inner workings of the Neural Compute Stick. The Neural Compute Stick primarily contains Movidius™ Myriad 2 VPU (Vision Processing Unit), and some power delivery voltage regulators. The Myriad 2 VPU includes 4 Gbit of LPDDR3 DRAM and its architecture includes specific imaging and vision accelerators and an array of 12 VLIW vector processors called SHAVE processors, used to accelerate neural networks by running parts of the neural networks in parallel for achieving the highest performance. The Neural Compute Stick is connected to an Application Processor (AP) such as a Raspberry Pi or Up Squared board using the USB interface on the Myriad 2 VPU. The USB3 interface can be used both in Super Speed (5Gbps) or High Speed (480Mbps) modes. +The following diagram shows the inner workings of the Intel Movidius NCS. The Intel Movidius NCS primarily contains the Intel® Movidius™ Myriad™ 2 vision processing unit (VPU) and some power delivery voltage regulators. The Intel Movidius Myriad 2 VPU includes 4 Gbit of LPDDR3 DRAM, and its architecture includes specific imaging and vision accelerators and an array of 12 VLIW vector processors called SHAVE processors. These processors are used to accelerate neural networks by running parts of the neural networks in parallel for achieving the highest performance. The Intel Movidius NCS is connected to an application processor (AP), such as a Raspberry Pi or UP Squared board, using the USB interface on the Intel Movidius Myriad 2 VPU. The USB3 interface can be used both in Super Speed (5 Gbps) or High Speed (480 Mbps) modes. -The CPU in the Myriad 2 VPU is a SPARC microprocessor core that runs custom firmware. When the Neural Compute Stick is first plugged in there is no firmware loaded onto it. The Myriad 2 VPU boots from the internal ROM and connects to the host computer(application processor) as a USB2 device. +The CPU in the Intel Movidius Myriad 2 VPU is a SPARC microprocessor core that runs custom firmware. When the Intel Movidius Neural Compute Stick is first plugged in, there is no firmware loaded onto it. The Intel Movidius Myriad 2 VPU boots from the internal ROM and connects to the host computer (application processor) as a USB 2.0 device. -Applications executing on the host computer (AP) communicate to the Myriad SOC using the Neural Compute API. When the API initializes and opens a device, the firmware from the Neural Compute SDK is loaded onto the Neural Compute Stick. At this time, the Neural Compute Stick resets and now shows up to the host computer as a USB2 or USB3 device depending on the host type. It is now ready to accept the neural network graph files and commands to execute inferences on the graph files. +Applications executing on the host computer (AP) communicate to the Intel Movidius Myriad VPU SOC using the Neural Compute API. When the API initializes and opens a device, the firmware from the Neural Compute SDK is loaded onto the Intel Movidius Neural Compute Stick. At this time, the Intel Movidius NCS resets and now shows up to the host computer as a USB 2.0 or USB 3.0 device depending on the host type. It is now ready to accept the neural network graph files and commands to execute inferences on the graph files. ![](images/NCS1_ArchDiagram.jpg) -A graph file is loaded into the DRAM attached to the Myriad-2 VPU via the API. The Leon processor coordinates receiving the graph file and images for inference via the USB connection. It also parses the graph file and schedules kernels to the SHAVE neural compute accelerator engines. In addition, the Leon processor also takes care of monitoring die temperature and throttling processing on high temperature alerts. Statistics and the output of the neural network are sent back to the host computer via the USB connection and they are received by a host application via the API. +A graph file is loaded into the DRAM attached to the Intel Movidius Myriad 2 VPU via the API. The LEON processor coordinates receiving the graph file and images for inference via the USB connection. It also parses the graph file and schedules kernels to the SHAVE neural compute accelerator engines. In addition, the LEON processor also takes care of monitoring die temperature and throttling processing on high temperature alerts. Statistics and the output of the neural network are sent back to the host computer via the USB connection, and they are received by a host application via the API. -In addition to the API, the SDK provides the tools mvNCCompile, mvNCCheck, and mvNCProfile that run on the host computer during application and neural network development. The checker and profiler tools run an inference on the Neural Compute Stick to validate against Caffe/TensorFlow™ and generate per layer statistics respectively. +In addition to the API, the NCSDK provides the tools mvNCCompile, mvNCCheck, and mvNCProfile that run on the host computer during application and neural network development. The checker and profiler tools run an inference on the Intel Movidius Neural Compute Stick to validate against Caffe/TensorFlow and generate per layer statistics respectively. diff --git a/docs/readme.md b/docs/readme.md new file mode 100644 index 0000000..efd60ee --- /dev/null +++ b/docs/readme.md @@ -0,0 +1,97 @@ + +
      +# Introduction +The Intel® Movidius™ Neural Compute SDK (NCSDK) and Intel® Movidius™ Neural Compute Stick (Intel® Movidius™ NCS) enable rapid prototyping, validation, and deployment of deep neural networks (DNNs). + +The NCS is used in two primary scenarios: +- Profiling, tuning, and compiling a DNN on a development computer (host system) with the tools provided in the Intel Movidius Neural Compute SDK. In this scenario, the host system is typically a desktop or laptop machine running Ubuntu 16.04 desktop (x86, 64 bit), but you can use any supported platform for these steps. + +- Prototyping a user application on a development computer (host system), which accesses the hardware of the Intel Movidius NCS to accelerate DNN inferences via the API provided with the Intel Movidius Neural Compute SDK. In this scenario, the host system can be a developer workstation or any developer system that runs an operating system compatible with the API. + +The following diagram shows the typical workflow for development with the Intel Movidius NCS: +![](images/ncs_workflow.jpg) + +The training phase does not utilize the Intel Movidius NCS hardware or NCSDK, while the subsequent phases of “profiling, tuning, and compiling” and “prototyping” do require the Intel Movidius NCS hardware and the accompanying Intel Movidius Neural Compute SDK. + +The NCSDK contains a set of software tools to compile, profile, and check validity of your DNN as well as an API for both the C and Python programming languages. The API is provided to allow users to create software that offloads the neural network computation onto the Intel Movidius Neural Compute Stick. + +The following is more information on the [architecture](ncs1arch.md) of the Intel Movidius Neural Compute Stick: + + +# Frameworks +Neural Compute SDK currently supports two Deep Learning frameworks. +1. [Caffe](Caffe.md): Caffe is a deep learning framework from Berkeley Vision Labs. +2. [TensorFlow™](TensorFlow.md): TensorFlow™ is a deep learning framework from Google. + +[See how to use networks from these supported frameworks with Intel Movidius NCS.](configure_network.md) + + + +# Installation and Examples +The following commands install NCSDK and run examples. Detailed instructions for [installation and configuration](install.md): + +``` +git clone http://github.com/Movidius/ncsdk && cd ncsdk && make install && make examples + +``` + +# Intel® Movidius™ Neural Compute SDK Tools +The SDK comes with a set of tools to assist in development and deployment of applications that utilize hardware accelerated Deep Neural Networks via the Intel Movidius Neural Compute Stick. Each tool and its usage is described below: + +* [mvNCCompile](tools/compile.md): Converts Caffe/TF network and weights to Intel Movidius technology internal compiled format + +* [mvNCProfile](tools/profile.md): Provides layer-by-layer statistics to evaluate the performance of Caffe/TF networks on the NCS + +* [mvNCCheck](tools/check.md): Compares the results from an inference by running the network on the NCS and Caffe/TF + + +# Neural Compute API +Applications for inferencing with Neural Compute SDK can be developed either in C/C++ or Python. The API provides a software interface to Open/Close Neural Compute Sticks, load graphs into the Intel Movidius NCS, and run inferences on the stick. + +* [C API](c_api/readme.md) +* [Python API](py_api/readme.md) + + +# Intel® Movidius™ Neural Compute Stick User Forum + +There is an active user forum in which users of the Intel Movidius Neural Compute Stick discuss ideas and issues they have with regard to the Intel Movidius NCS. Access the Intel Movidius NCS User Forum with the following link: + +[https://ncsforum.movidius.com](https://ncsforum.movidius.com) + +The forum is a good place to go if you need help troubleshooting an issue. You may find other people who have figured out the issue, or get ideas for how to fix it. The forum is also monitored by Intel Movidius product engineers who provide solutions, as well. + + +# Examples + +There are several examples, including the following at GitHub: +* Caffe + * GoogLeNet + * AlexNet + * SqueezeNet +* TensorFlow™ + * Inception V1 + * Inception V3 +* Apps + * hello_ncs_py + * hello_ncs_cpp + * multistick_cpp + +The examples demonstrate compiling, profiling, and running inferences using the network on the Intel Movidius Neural Compute Stick. +Each example contains a Makefile. Running 'make help' in the example's base directory will give possible make targets. + +``` + +git clone http://github.com/Movidius/ncsdk # Already done during installation +(cd ncsdk/examples && make) # run all examples +(cd ncsdk/examples/caffe/GoogLeNet && make) # Run just one example + +``` + + +# Neural Compute App Zoo +The Neural Compute App Zoo is a GitHub repository at [http://github.com/Movidius/ncappzoo](http://github.com/Movidius/ncappzoo), which is designed for developers to contribute networks and applications written for the Intel Movidus Neural Compute Stick to the Intel Movidius NCS community. + +See [The Neural Compute App Zoo README](https://github.com/Movidius/ncappzoo/blob/master/README.md) for more information. + + +[Release Notes](release_notes.md) diff --git a/docs/release_notes.md b/docs/release_notes.md index 5cf6bd9..b7d6d97 100644 --- a/docs/release_notes.md +++ b/docs/release_notes.md @@ -1,24 +1,24 @@ ============================================================ # Movidius Neural Compute SDK Release Notes -# V1.09.00 2017-10-10 +# V1.10.00 2017-10-31 ============================================================ +###As of V1.09.00, SDK has been refactored and contains many new features and structural changes. It is recommended you read the documentation to familiarize with the new features and contents. Please see v1.09.00 release notes, using github tag https://github.com/movidius/ncsdk/tree/v1.09.00.06 + ## SDK Notes: -SDK has been refactored and contains many new features and structural changes. It is recommended you read the documentation to familiarize with the new features and contents. A partial list of new features: +New features: +Networks: + Inception-v2 + Optimized mobilenet (down to 42ms from 110 ms on 12 shaves, for the 224x224 version) +Layers: + Dilated convolution + Optimized depth convolution: still supporting only 3x3 convolution + 1x1 pooling with stride 2, acting as up-sampling + Fix for TF-like padding for convolution. May fail for large input channels (more than 200). -1. New, unified, faster installer and uninstaller. -2. Now supports complete SDK installation on Raspberry Pi. -3. System installation of tools and API libraries. -4. API support for Python 2.7. -5. Source code included for API, for porting to other architectures or Linux distributions. -6. Tools support for Raspberry Pi. -7. Tensorflow R1.3 support for tools (only on Ubuntu 16.04 LTS currently). -8. More network support, see documentation for details! -9. Support for SDK on Ubuntu 16.04 LTS as guest OS, and Win10, OSX, and Ubuntu 16.04 as host OS. See docs/VirtualMachineConfig. ## API Notes: -1. API supported on both python 2.7 and python 3.5. -2. Some APIs deprecated, will emit the "deprecated" warning if used. Users expected to move to using new APIs for these functions. +1. No change ## Network Notes: Support for the following networks has been tested. @@ -34,24 +34,42 @@ Support for the following networks has been tested. ### Tensorflow r1.3 1. inception-v1 -2. inception-v3 -3. inception-v4 -4. Inception ResNet v2 -5. Mobilenet_V1_1.0_224 (preview -- see erratum #3.) +2. inception-v2 +3. inception-v3 +4. inception-v4 +5. Inception ResNet v2 +6. Mobilenet_V1_1.0 variants: +MobileNet_v1_1.0_224 +MobileNet_v1_1.0_192 +MobileNet_v1_1.0_160 +MobileNet_v1_1.0_128 +MobileNet_v1_0.75_224 +MobileNet_v1_0.75_192 +MobileNet_v1_0.75_160 +MobileNet_v1_0.75_128 +MobileNet_v1_0.5_224 +MobileNet_v1_0.5_192 +MobileNet_v1_0.5_160 +MobileNet_v1_0.5_128 +MobileNet_v1_0.25_224 +MobileNet_v1_0.25_192 +MobileNet_v1_0.25_160 +MobileNet_v1_0.25_128 ## Firmware Features: 1. Convolutions - NxN Convolution with Stride S. - The following cases have been extensively tested: 1x1s1,3x3s1,5x5s1,7x7s1, 7x7s2, 7x7s4 - Group convolution - - Depth Convolution (limited support -- see erratum #10.) + - Depth Convolution + - Dilated convolution 2. Max Pooling Radix NxM with Stride S -3. Average Pooling Radix NxM with Stride S +3. Average Pooling: Radix NxM with Stride S, Global average pooling 4. Local Response Normalization -5. Relu, Relu-X, Prelu +5. Relu, Relu-X, Prelu (see erattum #10) 6. Softmax 7. Sigmoid -8. Tanh +8. Tanh (see erratum #10) 9. Deconvolution 10. Slice 11. Scale @@ -63,20 +81,22 @@ Support for the following networks has been tested. 17. Crop 18. ELU 19. Batch Normalization + ## Bug Fixes: -1. USB protocol bug fixes, for expanded compatibility with hubs and hosts. In particular, fix for devices with maxpacket of 64. -2. Fixed -- when a graph execution fails, the result for a previous execution is erroneously returned. +1. Fixed -- mvNCProfile gives wrong results for MFLOPs for depthwise_convolution layer. +2. Fixed -- apps report NaN or wrong results, with input dimension not multiple of 8. +3. Fixed -- API reports timeout error if input dimension < 8. +4. Fixed -- SDK can not be installed by root user in Ubuntu. ## Errata: 1. Python 2.7 is fully supported for making user applications, but only the helloworld_py example runs as-is in both python 2.7 and 3.5 due to dependencies on modules. -2. SDK tools for tensorflow on Rasbpian Stretch are not supported for this release, due to lack of an integrated tensorflow installer for Rasbpian in the SDK. TF examples are provided with pre-compiled graph files to allow them to run on Rasperry Pi, however the compile, profile, and check functions will not be available on Raspberry Pi, and 'make examples' will generate failures for the tensorflow examples on Raspberry Pi. -3. Depth-wise convolution is not optimized, leading to low performance of Mobilenet, and does not support channel multiplier >1. +2. SDK tools for tensorflow on Rasbpian Stretch are not supported for this release, due to erlack of an integrated tensorflow installer for Rasbpian in the SDK. TF examples are provided with pre-compiled graph files to allow them to run on Rasperry Pi, however the compile, profile, and check functions will not be available on Raspberry Pi, and 'make examples' will generate failures for the tensorflow examples on Raspberry Pi. +3. Depth-wise convolution may not be supported if channel multiplier > 1. 4. If working behind proxy, proper proxy settings must be applied for the installer to succeed. 5. Although improved, the installer is known to take a long time on Raspberry Pi. Date/time must be correct for SDK installation to succeed on Raspberry Pi. 6. Default system virtual memory swap file size is too small to compile AlexNet on Raspberry Pi. -7. Raspberry Pi users will need to upgrade to Raspbian Stretch for this release. -8. Fully Connected Layers may produce erroneous results if input size is not a multiple of 8. -9. Convolution may fail to find a solution for very large inputs. -10. Depth convolution is tested for 3x3 kernels. -11. TensorFlow-like padding not correctly supported in some convolution cases, such as when stride=2 and even input size for 3x3 convolution. +7. Raspberry Pi users will need to upgrade to Raspbian Stretch for releases after 1.09. +8. Convolution may fail to find a solution for very large inputs. +9. Depth convolution is tested for 3x3 kernels. +10. A TanH layer’s “top” & “bottom” blobs must have different names.  This is different from a ReLU layer, whose “top” & “bottom” should be named the same as its previous layer. diff --git a/install.sh b/install.sh index 1547d8b..cbf23ae 100644 --- a/install.sh +++ b/install.sh @@ -11,10 +11,10 @@ then cd /tmp else cd /tmp - wget --no-cache http://ncs-forum-uploads.s3.amazonaws.com/ncsdk/ncsdk_01_09/ncsdk_redirector.txt + wget --no-cache http://ncs-forum-uploads.s3.amazonaws.com/ncsdk/ncsdk_01_10/ncsdk_redirector.txt fi -download_filename=NCSDK-1.09.tar.gz +download_filename=NCSDK-1.10.tar.gz # redirector is the url from redirector text file redirector=$( Date: Wed, 15 Nov 2017 17:55:51 -0800 Subject: [PATCH 05/16] Changes for 1.10.01 release --- Makefile | 2 +- README.md | 4 ++ api/src/97-usbboot.rules | 2 +- api/src/Makefile | 2 + api/src/common.h | 2 +- api/src/mvnc/MvNCAPI.mvcmd | Bin 905640 -> 830212 bytes api/src/mvnc_api.c | 2 +- docs/TOC.md | 10 +++- docs/VirtualMachineConfig.md | 16 ++--- docs/c_api/mvncAllocateGraph.md | 20 +++---- docs/c_api/mvncCloseDevice.md | 10 ++-- docs/c_api/mvncDeallocateGraph.md | 16 ++--- docs/c_api/mvncDeviceOptions.md | 6 +- docs/c_api/mvncGetDeviceName.md | 12 ++-- docs/c_api/mvncGetDeviceOption.md | 8 +-- docs/c_api/mvncGetGlobalOption.md | 6 +- docs/c_api/mvncGetGraphOption.md | 16 ++--- docs/c_api/mvncGetResult.md | 28 ++++----- docs/c_api/mvncGlobalOptions.md | 4 +- docs/c_api/mvncGraphOptions.md | 6 +- docs/c_api/mvncLoadTensor.md | 42 ++++++------- docs/c_api/mvncOpenDevice.md | 16 ++--- docs/c_api/mvncSetDeviceOption.md | 8 +-- docs/c_api/mvncSetGraphOption.md | 18 +++--- docs/c_api/mvncStatus.md | 2 +- docs/c_api/readme.md | 24 ++++---- docs/configure_network.md | 10 ++-- docs/install.md | 5 +- docs/manifest.md | 2 +- docs/py_api/Device.AllocateGraph.md | 8 +-- docs/py_api/Device.CloseDevice.md | 2 +- docs/py_api/Device.GetDeviceOption.md | 6 +- docs/py_api/Device.OpenDevice.md | 4 +- docs/py_api/Device.SetDeviceOption.md | 8 +-- docs/py_api/Device.__init__.md | 4 +- docs/py_api/Device.md | 22 +++---- docs/py_api/DeviceOption.md | 11 ++-- docs/py_api/EnumerateDevices.md | 8 +-- docs/py_api/GetGlobalOption.md | 6 +- docs/py_api/GlobalOption.md | 12 ++-- docs/py_api/Graph.DeallocateGraph.md | 6 +- docs/py_api/Graph.GetGraphOption.md | 6 +- docs/py_api/Graph.GetResult.md | 2 +- docs/py_api/Graph.LoadTensor.md | 8 +-- docs/py_api/Graph.SetGraphOption.md | 6 +- docs/py_api/Graph.md | 20 +++---- docs/py_api/GraphOption.md | 8 +-- docs/py_api/SetGlobalOption.md | 10 ++-- docs/py_api/Status.md | 6 +- docs/py_api/readme.md | 26 ++++---- docs/readme.md | 9 ++- docs/release_notes.md | 70 +++++++++++----------- docs/tools/check.md | 20 +++---- docs/tools/compile.md | 11 ++-- docs/tools/profile.md | 10 ++-- examples/Makefile | 2 +- examples/apps/Makefile | 2 +- examples/caffe/AlexNet/Makefile | 2 +- examples/caffe/GoogLeNet/Makefile | 2 +- examples/caffe/Makefile | 2 +- examples/caffe/SqueezeNet/Makefile | 2 +- examples/data/Makefile | 2 +- examples/tensorflow/Makefile | 2 +- examples/tensorflow/inception_v1/Makefile | 2 +- examples/tensorflow/inception_v3/Makefile | 2 +- install.sh | 4 +- 66 files changed, 327 insertions(+), 305 deletions(-) diff --git a/Makefile b/Makefile index 3123a7c..96f59c5 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ ifneq ($(findstring movidius, $(PYTHONPATH)), movidius) - export PYTHONPATH:=/opt/movidius/caffe/python:/opt/movidius/mvnc/python:$(PYTHONPATH) + export PYTHONPATH:=/opt/movidius/caffe/python:$(PYTHONPATH) endif diff --git a/README.md b/README.md index ac2eca4..e7225d8 100644 --- a/README.md +++ b/README.md @@ -24,3 +24,7 @@ The complete Intel Movidius Neural Compute SDK documentation can be viewed at [h # Getting Started Video For installation and general instructions to get started with the NCSDK, take a look at this [video](https://www.youtube.com/watch?v=fESFVNcQVVA) +# Troubleshooting and Tech Support +Be sure to check the [NCS Troubleshooting Guide](https://ncsforum.movidius.com/discussion/370/intel-ncs-troubleshooting-help-and-guidelines#latest) if you run into any issues with the NCS or NCSDK. + +Also for general tech support issues the [NCS User Forum](https://developer.movidius.com/forums) is recommended and contains community discussions on many issues and resolutions. diff --git a/api/src/97-usbboot.rules b/api/src/97-usbboot.rules index 3d11e4d..eb61fa4 100644 --- a/api/src/97-usbboot.rules +++ b/api/src/97-usbboot.rules @@ -1,3 +1,3 @@ SUBSYSTEM=="usb", ATTRS{idProduct}=="2150", ATTRS{idVendor}=="03e7", GROUP="users", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1" -SUBSYSTEM=="usb", ATTRS{idProduct}=="f63b", ATTRS{idVendor}=="040e", GROUP="users", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1" +SUBSYSTEM=="usb", ATTRS{idProduct}=="f63b", ATTRS{idVendor}=="03e7", GROUP="users", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1" SUBSYSTEM=="tty", ATTRS{idProduct}=="2150", ATTRS{idVendor}=="03e7", GROUP="users", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1" diff --git a/api/src/Makefile b/api/src/Makefile index 0c92879..5d6b45d 100644 --- a/api/src/Makefile +++ b/api/src/Makefile @@ -24,6 +24,8 @@ LDFLAGS += -shared OBJS := $(SRCS:%.c=$(OBJDIR)/%.o) DEPS := $(OBJS:.o=.d) +all: obj-$(ARCH)/libmvnc.so.0 + $(OBJDIR)/$(OUT): $(OBJS) $(CC) $(LDFLAGS) $(OBJS) -o $@ $(LIBS) ln -fs $(OBJDIR)/$(OUT) libmvnc.so diff --git a/api/src/common.h b/api/src/common.h index cfb9157..7385f0c 100644 --- a/api/src/common.h +++ b/api/src/common.h @@ -30,5 +30,5 @@ // Common defines #define DEFAULT_VID 0x03E7 #define DEFAULT_PID 0x2150 // Myriad2v2 ROM -#define DEFAULT_OPEN_VID 0x040e +#define DEFAULT_OPEN_VID DEFAULT_VID #define DEFAULT_OPEN_PID 0xf63b // Once opened in VSC mode, VID/PID change diff --git a/api/src/mvnc/MvNCAPI.mvcmd b/api/src/mvnc/MvNCAPI.mvcmd index c26da409bf6efb63c766372f1153aaeab8af86af..b2df031feaac198e21fd7bd6049bedc17adc18cc 100644 GIT binary patch delta 120763 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 u(Y&IZ850X-4 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 0) { + if (saved_name && strlen(saved_name) > 0) { device_name = strtok_r(NULL, ":", &saved_name); second_name_available = 1; } diff --git a/docs/TOC.md b/docs/TOC.md index 555f164..b38d04d 100644 --- a/docs/TOC.md +++ b/docs/TOC.md @@ -1,17 +1,17 @@ # NC SDK Documentation Table of Contents - Introduction - - [NCS Architecture](ncs1arch.md) + - [Intel® Movidius™ NCS Architecture](ncs1arch.md) - Frameworks - [Caffe Support](Caffe.md) - - [TensorFlow Support](TensorFlow.md) + - [TensorFlow™ Support](TensorFlow.md) - [Configure Networks for NCS](configure_network.md) - Installation and examples - [Detailed Installation Instructions](install.md) - [Virtual Machine Configuration](VirtualMachineConfig.md) - - [Installation manifiest](manifest.md) + - [Installation Manifiest](manifest.md) - NC SDK Tools - [mvNCCompile](tools/compile.md) @@ -27,3 +27,7 @@ - Examples - Neural Compute App Zoo + +- Troubleshooting + +- Release Notes diff --git a/docs/VirtualMachineConfig.md b/docs/VirtualMachineConfig.md index 95056a2..c239372 100644 --- a/docs/VirtualMachineConfig.md +++ b/docs/VirtualMachineConfig.md @@ -1,15 +1,15 @@ # Virtual Machine Configurations -The following configuration has been tested with the 1.09 SDK release +The following configuration has been tested with the 1.09 SDK release. ## General Requirements -- Virtualbox 5.1.28 (later releases should be fine but not tested) +- Virtualbox 5.1.28 (later releases should be fine, but have not been tested) - Guest Extensions installed -- You will need to select usb3.0 and create two filters: +- You will need to select USB 3.0 and create two filters: - USB2 filter with vendor ID 03e7 and product ID 2150 - USB3 filter with vendor ID 040e and product ID f63b - Host OS (these have been tested, other may work): - - OSX Yosemite 10.10.5 + - OS X Yosemite 10.10.5 - Windows 10 Enterprise - Ubuntu 16.04 Desktop - Guest OS: @@ -21,9 +21,9 @@ The following configuration has been tested with the 1.09 SDK release - Install guest extensions (virtualbox menu devices / Insert guest additions CD image) - Setup USB filters - Install NCSDK with 'make install' ([Installation Instructions](install.md)) -- Insert NCS device to USB port -- Install examples with 'make examples' if doesn’t work re-insert key and try again +- Insert Intel® Movidius™ NCS device to USB port +- Install examples with 'make examples'; if it doesn’t work, re-insert key and try again ## Notes -- During operation applications will need 2s delay between close and re-openign NCS device -- VM RAM needs to be 2GB or caffe compile will likely fail +- During operation applications, will need 2s delay between close and re-opening NCS device +- VM RAM needs to be 2 GB, or caffe compile will likely fail diff --git a/docs/c_api/mvncAllocateGraph.md b/docs/c_api/mvncAllocateGraph.md index a563e5b..ae90548 100644 --- a/docs/c_api/mvncAllocateGraph.md +++ b/docs/c_api/mvncAllocateGraph.md @@ -9,7 +9,7 @@ Version|1.0 See also|[mvncOpenDevice](mvncOpenDevice.md), [mvncDeallocateGraph](mvncDeallocateGraph.md) ## Overview -This function allocates a graph on the specified device and creates a handle to the graph which can be passed to other API functions such as mvncLoadTensor() and mvncGetResult(). When the caller is done with the graph the mvncDeallocateGraph() function should be called to free the resources associated with the graph. +This function allocates a graph on the specified device and creates a handle to the graph that can be passed to other API functions such as mvncLoadTensor() and mvncGetResult(). When the caller is done with the graph, the mvncDeallocateGraph() function should be called to free the resources associated with the graph. ## Prototype @@ -20,9 +20,9 @@ mvncStatus mvncAllocateGraph(void *deviceHandle, void **graphHandle, const void Name|Type|Description ----|----|----------- -deviceHandle|void \*|The deviceHandle pointer to the opaque device datatype (which was created via mvncOpenDevice()) on which the graph should be allocated. -graphHandle|void\*\*|Address of a pointer that will be set to point to an opaque graph datatype. Upon successful return this graphHandle can be passed to other API funtions. -graphFile|const void\* | Pointer to a buffer that contains the contents of a graph file. The graph file is a compiled neural network file that gets created by the MvNCCompile SDK tool. +deviceHandle|void\*|The deviceHandle pointer to the opaque device datatype (which was created via mvncOpenDevice()) on which the graph should be allocated. +graphHandle|void\*\*|Address of a pointer that will be set to point to an opaque graph datatype. Upon successful return, this graphHandle can be passed to other API funtions. +graphFile|const void\* | Pointer to a buffer that contains the contents of a graph file. The graph file is a compiled neural network file that gets created by the MvNCCompile SDK tool. graphFileLength|unsigned int|The number of bytes allocated for the buffer that graphFile points to. ## Return @@ -34,7 +34,7 @@ This function returns an appropriate value from the [mvncStatus](mvncStatus.md) ## Example ```C -// graph file name +// Graph file name #define GRAPH_FILE_NAME "graphfile" int main(int argc, char** argv) @@ -42,7 +42,7 @@ int main(int argc, char** argv) void* deviceHandle; // - // Assume NCS device opened here and deviceHandle is valid now + // Assume NCS device opened here and deviceHandle is valid now. // // Now read in a graph file so graphFileBuf will point to the @@ -51,16 +51,16 @@ int main(int argc, char** argv) unsigned int graphFileLen; void* graphFileBuf = LoadFile(GRAPH_FILE_NAME, &graphFileLen); - // allocate the graph + // Allocate the graph void* graphHandle; retCode = mvncAllocateGraph(deviceHandle, &graphHandle, graphFileBuf, graphFileLen); if (retCode != MVNC_OK) - { // error allocating graph + { // Error allocating graph printf("Could not allocate graph for file: %s\n", GRAPH_FILE_NAME); } else - { // successfully allocated graph. Now graphHandle is ready to go. - // use graphHandle for other API calls and call mvncDeallocateGraph + { // Successfully allocated graph. Now graphHandle is ready to go. + // Use graphHandle for other API calls and call mvncDeallocateGraph // when done with it. printf("Successfully allocated graph for %s\n", GRAPH_FILE_NAME); diff --git a/docs/c_api/mvncCloseDevice.md b/docs/c_api/mvncCloseDevice.md index e8e56ac..eb70d8f 100644 --- a/docs/c_api/mvncCloseDevice.md +++ b/docs/c_api/mvncCloseDevice.md @@ -20,7 +20,7 @@ mvncStatus mvncCloseDevice(void *deviceHandle); Name|Type|Description ----|----|----------- -deviceHandle|void*|Pointer to the opaque NCS Device structure that was allocated and returned from the mvncOpenDevice function. +deviceHandle|void*|Pointer to the opaque NCS device structure that was allocated and returned from the mvncOpenDevice function. ## Return This function returns an appropriate value from the [mvncStatus](mvncStatus.md) enumeration. @@ -36,7 +36,7 @@ extern "C" { #include } -// somewhat arbitrary buffer size for the device name +// Somewhat arbitrary buffer size for the device name. #define NAME_SIZE 100 int main(int argc, char** argv) { @@ -50,10 +50,10 @@ int main(int argc, char** argv) exit(-1); } - // Try to open the NCS device via the device name + // Try to open the NCS device via the device name. retCode = mvncOpenDevice(devName, &deviceHandle); if (retCode != MVNC_OK) - { // failed to open the device. + { // Failed to open the device. printf("Could not open NCS device\n"); exit(-1); } @@ -62,7 +62,7 @@ int main(int argc, char** argv) // Pass it to other NC API calls as needed and close it when finished. printf("Successfully opened NCS device!\n"); - // Close the device previously opened by mvncOpenDevice() + // Close the device previously opened by mvncOpenDevice(). retCode = mvncCloseDevice(deviceHandle); } ``` diff --git a/docs/c_api/mvncDeallocateGraph.md b/docs/c_api/mvncDeallocateGraph.md index ea5ec94..6d96e6c 100644 --- a/docs/c_api/mvncDeallocateGraph.md +++ b/docs/c_api/mvncDeallocateGraph.md @@ -9,7 +9,7 @@ Version|1.0 See also|[mvncOpenDevice](mvncOpenDevice.md), [mvncAllocateGraph](mvncAllocateGraph.md) ## Overview -This function deallocates a graph that was previously allocated with mvncAllocateGraph(). After successful return from this function the passed graphHandle will be invalid and should not be used. +This function deallocates a graph that was previously allocated with mvncAllocateGraph(). After successful return from this function, the passed graphHandle will be invalid and should not be used. ## Prototype @@ -26,7 +26,7 @@ graphHandle|void\*\*|Pointer to opaque graph data type that was initialized with This function returns an appropriate value from the [mvncStatus](mvncStatus.md) enumeration. ## Known Issues -Using a deallocated graph handle can lead to hard to find bugs. To prevent this it's good practice to set the handle to NULL (or nullptr for C++ 11) after deallocating as shown in this code snippet. +Using a deallocated graph handle can lead to hard-to-find bugs. To prevent this, it's good practice to set the handle to NULL (or nullptr for C++ 11) after deallocating, as shown in this code snippet: ```C++ mvncDeallocateGraph(graphHandle); graphHandle = NULL; @@ -34,7 +34,7 @@ graphHandle = NULL; ## Example ```C -// graph file name +// Graph file name #define GRAPH_FILE_NAME "graphfile" int main(int argc, char** argv) @@ -48,19 +48,19 @@ int main(int argc, char** argv) // // Assume NCS device opened here and deviceHandle is valid now // and the graph file is in graphFileBuf and length in bytes - // is in graphFileLen + // is in graphFileLen. // - // allocate the graph + // Allocate the graph void* graphHandle; retCode = mvncAllocateGraph(deviceHandle, &graphHandle, graphFileBuf, graphFileLen); if (retCode != MVNC_OK) - { // error allocating graph + { // Error allocating graph printf("Could not allocate graph for file: %s\n", GRAPH_FILE_NAME); } else - { // successfully allocated graph. Now graphHandle is ready to go. - // use graphHandle for other API calls and call mvncDeallocateGraph + { // Successfully allocated graph. Now graphHandle is ready to go. + // Use graphHandle for other API calls, and call mvncDeallocateGraph // when done with it. printf("Successfully allocated graph for %s\n", GRAPH_FILE_NAME); diff --git a/docs/c_api/mvncDeviceOptions.md b/docs/c_api/mvncDeviceOptions.md index ead35f1..c706abe 100644 --- a/docs/c_api/mvncDeviceOptions.md +++ b/docs/c_api/mvncDeviceOptions.md @@ -8,8 +8,8 @@ See also|[mvncGetDeviceOption](mvncGetDeviceOption.md), [mvncSetDeviceOption](mv ## Overview -This enumeration is used to specify an option on the NCS device that can be written or read via mvncGetDeviceOption() and mvncSetDeviceOption(). The table below provides details on the meaning of each of the values in the enumeration. +This enumeration is used to specify an option on the Intel® Movidius™ NCS device that can be written or read via mvncGetDeviceOption() and mvncSetDeviceOption(). The table below provides details on the meaning of each of the values in the enumeration. -constant | Option Type | Possible Values | get/set | Description +Constant | Option Type | Possible Values | Get/Set | Description -------- | ------------| --------------- | ------- | ----------- -MVNC_THERMAL_THROTTLING_LEVEL|int|1, or 2|get|Returns 1 if lower guard temperature threshold of chip sensor is reached. This indicates short throttling time is in action between inferences to protect the device. Returns 2 if upper guard temperature of chip sensor is reached. This indicates long throttling time is in action between inferences to protect the device. +MVNC_THERMAL_THROTTLING_LEVEL|int|1, 2|get|1: if lower guard temperature threshold of chip sensor is reached. This indicates short throttling time is in action between inferences to protect the device.
      2: if upper guard temperature of chip sensor is reached. This indicates long throttling time is in action between inferences to protect the device. diff --git a/docs/c_api/mvncGetDeviceName.md b/docs/c_api/mvncGetDeviceName.md index 81bf1e5..77f0099 100644 --- a/docs/c_api/mvncGetDeviceName.md +++ b/docs/c_api/mvncGetDeviceName.md @@ -9,7 +9,7 @@ Version|1.0 See also|[mvncOpenDevice](mvncOpenDevice.md) ## Overview -This function is used to get the name of a particular NCS device. Typical usage is to call the function repeatedly starting with index = 0 and incrementing the index each time until an error is returned. These successive calls will give you the names of all the devices in the system. +This function is used to get the name of a particular Intel® Movidius™ NCS device. Typical usage is to call the function repeatedly, starting with index = 0, and incrementing the index each time until an error is returned. These successive calls will give you the names of all the devices in the system. ## Prototype @@ -20,9 +20,9 @@ mvncStatus mvncGetDeviceName(int index, char* name, unsigned int nameSize); Name|Type|Description ----|----|----------- -index|int|index of the device for which the name should be retrieved. -name|char\*|pointer to a character buffer into which the name will be copied. This buffer should be allocated by the caller. -nameSize|unsigned int| the number of characters allocated to the buffer pointed to by the name parameter. +index|int|Index of the device for which the name should be retrieved. +name|char\*|Pointer to a character buffer into which the name will be copied. This buffer should be allocated by the caller. +nameSize|unsigned int|The number of characters allocated to the buffer pointed to by the name parameter. ## Return This function returns an appropriate value from the [mvncStatus](mvncStatus.md) enumeration. @@ -30,7 +30,7 @@ This function returns an appropriate value from the [mvncStatus](mvncStatus.md) ## Known Issues ## Example -The following example shows how to get the name of all NCS devices attached to the system. mvncGetDeviceName is called repeatedly until it returns MVNC_DEVICE_NOT_FOUND. +The following example shows how to get the name of all Intel Movidius NCS devices attached to the system. mvncGetDeviceName is called repeatedly until it returns MVNC_DEVICE_NOT_FOUND. ```C++ #include @@ -53,7 +53,7 @@ int main(int argc, char** argv) printf("Total number of NCS devices found: %d\n", deviceCount); } ``` -Output from the example code above with two NCS devices in the system. +Output from the example code above with two Intel Movidius NCS devices in the system. ``` Found NCS device named: "2.3" diff --git a/docs/c_api/mvncGetDeviceOption.md b/docs/c_api/mvncGetDeviceOption.md index ce96992..d9b2693 100644 --- a/docs/c_api/mvncGetDeviceOption.md +++ b/docs/c_api/mvncGetDeviceOption.md @@ -9,7 +9,7 @@ Version|1.0 See also|[mvncOpenDevice](mvncOpenDevice.md), [mvncDeviceOptions](mvncDeviceOptions.md), [mvncSetDeviceOption](mvncSetDeviceOption.md) ## Overview -This function gets the current value of an option for an NCS device. The available options and their data types can be found in the [DeviceOptions](mvncDeviceOptions.md) enumeration documentation. +This function gets the current value of an option for an Intel® Movidius™ Neural Compute Stick (Intel® Movidius™ NCS) device. The available options and their data types can be found in the [DeviceOptions](mvncDeviceOptions.md) enumeration documentation. ## Prototype @@ -22,8 +22,8 @@ Name|Type|Description ----|----|----------- deviceHandle|void\*|Pointer to opaque device data type that was initialized with the mvncOpenDevice() function. This specifies which NCS device's option will be retrieved. option|int|A value from the DeviceOptions enumeration that specifies which option will be retrieved. -data|void\*|Pointer to a buffer where the value of the option will be copied. The type of data this points to will depend on the option that is specified. Check mvncDeviceOptions for the data types that each option requires. -dataLength|unsigned int \*| Pointer to an unsigned int which must point to the size, in bytes, of the buffer allocated to the data parameter when called. Upon successfull return it will be set to the number of bytes copied to the data buffer. +data|void\*|Pointer to a buffer where the value of the option will be copied. The type of data this points to will depend on the option that is specified. Check mvncDeviceOptions for the data types that each option requires. +dataLength|unsigned int\*|Pointer to an unsigned int which must point to the size, in bytes, of the buffer allocated to the data parameter when called. Upon successfull return, it will be set to the number of bytes copied to the data buffer. ## Return This function returns an appropriate value from the [mvncStatus](mvncStatus.md) enumeration. @@ -32,5 +32,5 @@ This function returns an appropriate value from the [mvncStatus](mvncStatus.md) ## Example ```C -TODO +TBD ``` diff --git a/docs/c_api/mvncGetGlobalOption.md b/docs/c_api/mvncGetGlobalOption.md index 529fcaf..b2e94d7 100644 --- a/docs/c_api/mvncGetGlobalOption.md +++ b/docs/c_api/mvncGetGlobalOption.md @@ -10,7 +10,7 @@ Version|1.09 See also|[mvncGlobalOptions](mvncGlobalOptions.md), [mvncSetGlobalOption](mvncSetGlobalOption.md) ## Overview -This function gets the current value of an option that is global to the SDK. The available options and their data types can be found in the [mvncGlobalOptions](mvncGlobalOptions.md) enumeration documentation. +This function gets the current value of an option that is global to the SDK. The available options and their data types can be found in the [mvncGlobalOptions](mvncGlobalOptions.md) enumeration documentation. ## Prototype @@ -22,8 +22,8 @@ mvncStatus mvncGetGlobalOption(int option, void *data, unsigned int *datalength) Name|Type|Description ----|----|----------- option|int|A value from the GlobalOptions enumeration that specifies which option will be retrieved. -data|void\*|Pointer to a buffer where the value of the option will be copied. The type of data this points to will depend on the option that is specified. Check mvncGlobalOptions for the data types that each option requires. -dataLength|unsigned int \*| Pointer to an unsigned int which must point to the size, in bytes, of the buffer allocated to the data parameter when called. Upon successfull return it will be set to the number of bytes copied to the data buffer. +data|void\*|Pointer to a buffer where the value of the option will be copied. The type of data this points to will depend on the option that is specified. Check mvncGlobalOptions for the data types that each option requires. +dataLength|unsigned int\*|Pointer to an unsigned int which must point to the size, in bytes, of the buffer allocated to the data parameter when called. Upon successfull return, it will be set to the number of bytes copied to the data buffer. ## Return This function returns an appropriate value from the [mvncStatus](mvncStatus.md) enumeration. diff --git a/docs/c_api/mvncGetGraphOption.md b/docs/c_api/mvncGetGraphOption.md index 7d499f2..7ac7a26 100644 --- a/docs/c_api/mvncGetGraphOption.md +++ b/docs/c_api/mvncGetGraphOption.md @@ -9,7 +9,7 @@ Version|1.0 See also|[mvncAllocateGraph](mvncAllocateGraph.md), [mvncGraphOptions](mvncGraphOptions.md), [mvncSetGraphOption](mvncSetGraphOption.md) ## Overview -This function gets the current value of an option for a graph. The available options can be found in the GraphOptions enumeration. +This function gets the current value of an option for a graph. The available options can be found in the GraphOptions enumeration. ## Prototype @@ -20,10 +20,10 @@ mvncStatus mvncGetGraphOption(void *graphHandle, int option, void **data, unsign Name|Type|Description ----|----|----------- -graphHandle|void\*|Pointer to opaque graph data type that was initialized with the mvncAllocateGraph() function which represents the neural network. This specifies which graph's option value will be retrieved. +graphHandle|void\*|Pointer to opaque graph data type that was initialized with the mvncAllocateGraph() function, which represents the neural network. This specifies which graph's option value will be retrieved. option|int|A value from the GraphOptions enumeration that specifies which option will be retrieved. -data|void\*|Pointer to a buffer where the value of the option will be copied. The type of data this points to will depend on the option that is specified. Check mvncGraphOptions for the data types that each option requires. -dataLength|unsigned int \*| Pointer to an unsigned int which must point to the size, in bytes, of the buffer allocated to the data parameter when called. Upon successfull return it will be set to the number of bytes copied to the data buffer. +data|void\*|Pointer to a buffer where the value of the option will be copied. The type of data this points to will depend on the option that is specified. Check mvncGraphOptions for the data types that each option requires. +dataLength|unsigned int\*|Pointer to an unsigned int, which must point to the size, in bytes, of the buffer allocated to the data parameter when called. Upon successfull return, it will be set to the number of bytes copied to the data buffer. ## Return This function returns an appropriate value from the [mvncStatus](mvncStatus.md) enumeration. @@ -35,10 +35,10 @@ This function returns an appropriate value from the [mvncStatus](mvncStatus.md) . . . - // open device to get device handle, - // allocate the graph to get graph handle + // Open device to get device handle, + // allocate the graph to get graph handle. - // set the graph option for blocking calls + // Set the graph option for blocking calls int dontBlockValue; unsigned int sizeOfValue; retCode = mvncGetGraphOption(graphHandle, MVNC_DONTBLOCK, (void**)(&dontBlockValue), &sizeOfValue); @@ -52,7 +52,7 @@ This function returns an appropriate value from the [mvncStatus](mvncStatus.md) printf("Error returned from mvncGetGraphOption: %d\n", retCode); } - // use graph, deallocate graph, close device etc. + // Use graph, deallocate graph, close device, etc. . . diff --git a/docs/c_api/mvncGetResult.md b/docs/c_api/mvncGetResult.md index 30e07ee..84520ef 100644 --- a/docs/c_api/mvncGetResult.md +++ b/docs/c_api/mvncGetResult.md @@ -3,7 +3,7 @@ Type|Function ------------ | ------------- Header|mvnc.h -Library| libmvnc.so +Library|libmvnc.so Return|[mvncStatus](mvncStatus.md) Version|1.0 See also|[mvncOpenDevice](mvncOpenDevice.md), [mvncAllocateGraph](mvncAllocateGraph.md), [mvncLoadTensor](mvncLoadTensor.md) @@ -21,9 +21,9 @@ mvncStatus mvncGetResult(void *graphHandle, void **outputData, unsigned int *out Name|Type|Description ----|----|----------- graphHandle|void\*|Pointer to opaque graph data type that was initialized with the mvncAllocateGraph() function that represents the neural network for which an inference was initiated. -outputData|void\*\*|Address of the pointer that will be set to a buffer of 16 bit floats which contain the result of the inference. The buffer will contain one 16 bit float for each network category, the values of which are the results of the output node. Typically these values are the probabilities that an image belongs to the category. +outputData|void\*\*|Address of the pointer that will be set to a buffer of 16-bit floats, which contain the result of the inference. The buffer will contain one 16-bit float for each network category, the values of which are the results of the output node. Typically these values are the probabilities that an image belongs to the category. outputDataLength|unsigned int\*|Pointer to an unsigned int that will be set to the number of bytes in the outputData buffer. -userParam|void \*\*| Address of a pointer that will be set to the user parameter for this inference. This corresponds to the userParam that was passed to the LoadTensor() function which initiated the inference. +userParam|void\*\*|Address of a pointer that will be set to the user parameter for this inference. This corresponds to the userParam that was passed to the LoadTensor() function, which initiated the inference. ## Return This function returns an appropriate value from the [mvncStatus](mvncStatus.md) enumeration. @@ -36,8 +36,8 @@ This function returns an appropriate value from the [mvncStatus](mvncStatus.md) . . -// use a 16 bit unsigned type to represent half precision floats since C++ has no -// built in support for 16 but floats. +// Use a 16-bit unsigned type to represent half precision floats since C++ has no +// built-in support for 16-bit floats. typedef unsigned short half; int main(int argc, char** argv) @@ -46,23 +46,23 @@ int main(int argc, char** argv) . . // - // Open NCS device and set deviceHandle to the valid handle + // Open NCS device and set deviceHandle to the valid handle. // // - // Read graph from disk and call mvncAllocateGraph to set graphHandle appropriately + // Read graph from disk and call mvncAllocateGraph to set graphHandle appropriately. // // // Load an image.png from disk and preprocess it to match network - // requirements so that imageBufFp16 list to 16 bit floats + // requirements so that imageBufFp16 list to 16-bit floats. // - // start the inference with call to mvncLoadTensor() + // Start the inference with call to mvncLoadTensor(). retCode = mvncLoadTensor(graphHandle, imageBufFp16, lenBufFp16, NULL); if (retCode == MVNC_OK) - { // the inference has been started, now call mvncGetResult() for the - // inference result + { // The inference has been started, now call mvncGetResult() for the + // inference result. printf("Successfully loaded the tensor for image %s\n", "image.png"); void* resultData16; @@ -70,7 +70,7 @@ int main(int argc, char** argv) unsigned int lenResultData; retCode = mvncGetResult(graphHandle, &resultData16, &lenResultData, &userParam); if (retCode == MVNC_OK) - { // Successfully got the result. The inference result is in the buffer pointed to by resultData + { // Successfully got the result. The inference result is in the buffer pointed to by resultData. printf("Successfully got the inference result for image %s\n", IMAGE_FILE_NAME); printf("resultData is %d bytes which is %d 16-bit floats.\n", lenResultData, lenResultData/(int)sizeof(half)); @@ -97,8 +97,8 @@ int main(int argc, char** argv) } // - // call mvncDeallocateGraph to free the resources tied to graphHandle - // close the device with mvncCloseDevice() + // Call mvncDeallocateGraph to free the resources tied to graphHandle. + // Close the device with mvncCloseDevice(). // } diff --git a/docs/c_api/mvncGlobalOptions.md b/docs/c_api/mvncGlobalOptions.md index a3255ab..f918d9a 100644 --- a/docs/c_api/mvncGlobalOptions.md +++ b/docs/c_api/mvncGlobalOptions.md @@ -10,6 +10,6 @@ See also|[mvncGetGlobalOption](mvncGetGlobalOption.md), [mvncSetGlobalOption](mv This enumeration is used to specify a global option that can be written or read via mvncGetDeviceOption() and mvncSetDeviceOption(). The table below provides details on the meaning of each of the values in the enumeration. -constant | Option Type | Possible Values | get/set | Description +Constant | Option Type | Possible Values | Get/Set | Description -------- | ------------| --------------- | ------- | ----------- -MVNC_LOGLEVEL | int | 0, 1, 2 |get, set|The logging level for application Value meanings are: 0 = log nothing (default), 1 = log errors only, 2 = log all, verbose logging. +MVNC_LOGLEVEL | int | 0, 1, 2 |get, set|The logging level for application Value meanings are:
      0: log nothing (default)
      1: log errors only
      2: log all, verbose logging. diff --git a/docs/c_api/mvncGraphOptions.md b/docs/c_api/mvncGraphOptions.md index d2bdfc8..889dab5 100644 --- a/docs/c_api/mvncGraphOptions.md +++ b/docs/c_api/mvncGraphOptions.md @@ -9,10 +9,10 @@ See also|[mvncGetGraphOption](mvncGetGraphOption.md), [mvncSetGraphOption](mvncS ## Overview -This enumeration is used to specify an option on the a graph that can be written or read via mvncGetGraphOption() and mvncSetGraphOption(). The table below provides details on the meaning of each of the values in the enumeration. +This enumeration is used to specify an option on the graph that can be written or read via mvncGetGraphOption() and mvncSetGraphOption(). The table below provides details on the meaning of each of the values in the enumeration. -constant | Option Type | Possible Values | get/set | Description +Constant | Option Type | Possible Values | Get/Set | Description -------- | ------------| --------------- | ------- | ----------- -MVNC_DONT_BLOCK| int |0, 1|get, set|0: Calls to mvncLoadTensor and mvncGetResult block, 1: calls to those functions don't block. +MVNC_DONT_BLOCK| int |0, 1|get, set|0: Calls to mvncLoadTensor and mvncGetResult will block (won't return until the action is completed) (Default)
      1: Calls to those functions don't block (they will return immediately). If the action coudn't be completed the return value will indicate why. mvncLoadTensor() will return MVNC_BUSY when the NCS isn't able to perform the action because its busy, try again later. mvncGetResult() will return MVNC_NO_DATA unless there is an inference that is ready to be returned. In this case try again later and when there is a completed inference the results will be returned. MVNC_TIME_TAKEN| float\* | any | get |Time taken for the last inference returned by mvncGetResult. MVNC_DEBUG_INFO| char\* | any | get | A string that provides more details when the result of a function call was MVNC_MYRIADERROR. diff --git a/docs/c_api/mvncLoadTensor.md b/docs/c_api/mvncLoadTensor.md index ecb1543..a735dfc 100644 --- a/docs/c_api/mvncLoadTensor.md +++ b/docs/c_api/mvncLoadTensor.md @@ -9,7 +9,7 @@ Version|1.0 See also|[mvncOpenDevice](mvncOpenDevice.md), [mvncAllocateGraph](mvncAllocateGraph.md), [mvncGetResult](mvncGetResult.md) ## Overview -This function initiates an inference on the specified graph via the associated NCS device. After calling this function use the mvncGetResult() function to retrieve the inference result. +This function initiates an inference on the specified graph via the associated Intel® Movidius™ Neural Compute Stick (Intel® Movidius™ NCS) device. After calling this function, use the mvncGetResult() function to retrieve the inference result. ## Prototype @@ -21,9 +21,9 @@ mvncStatus mvncLoadTensor(void *graphHandle, const void *inputTensor, unsigned i Name|Type|Description ----|----|----------- graphHandle|void\*|Pointer to opaque graph data type that was initialized with the mvncAllocateGraph() function that represents the neural network for which an inference will be initiated. -inputTensor|const void\*|Pointer to tensor data buffer which contains 16 bit half precision floats (per IEEE 754 half precision binary floating-point format: binary16). The values in the buffer are dependent on the neural network (graph) but are typically representations of each color channel of each pixel of an image. +inputTensor|const void\*|Pointer to tensor data buffer, which contains 16-bit half precision floats (per IEEE 754 half precision binary floating-point format: binary16). The values in the buffer are dependent on the neural network (graph), but are typically representations of each color channel of each pixel of an image. inputTensorLength|unsigned int|The length, in bytes, of the buffer pointed to by the inputTensor parameter. -userParam|void \*| Pointer to user data that will be returned along with the inference result from the GetResult() function. +userParam|void\*|Pointer to user data that will be returned along with the inference result from the GetResult() function. ## Return This function returns an appropriate value from the [mvncStatus](mvncStatus.md) enumeration. @@ -36,11 +36,11 @@ This function returns an appropriate value from the [mvncStatus](mvncStatus.md) . . -// use a 16 bit unsigned type to represent half precision floats since C++ has no -// built in support for 16 but floats. +// Use a 16-bit unsigned type to represent half precision floats, since C++ has no +// built-in support for 16-bit floats. typedef unsigned short half; -// GoogleNet image dimensions and network mean values for each channel. This information is specific +// GoogleNet image dimensions and network mean values for each channel. This information is specific // for each network, and usually available from network creators. const int networkDim = 224; float networkMean[] = {0.40787054*255.0, 0.45752458*255.0, 0.48109378*255.0}; @@ -51,39 +51,39 @@ int main(int argc, char** argv) . . // - // Open NCS device and set deviceHandle to the valid handle + // Open NCS device and set deviceHandle to the valid handle. // // - // Read graph from disk and call mvncAllocateGraph to set graphHandle appropriately + // Read graph from disk and call mvncAllocateGraph to set graphHandle appropriately. // // - // Load an image from disk - // LoadImage will read image from disk, convert channels to floats - // subtract network mean for each value in each channel. Then convert + // Load an image from disk. + // LoadImage will read image from disk, convert channels to floats. + // Subtract network mean for each value in each channel. Then convert // floats to half precision floats. - // return pointer to the buffer of half precision floats + // Return pointer to the buffer of half precision floats. half* imageBufFp16 = LoadImage("image.png", networkDim, networkMean); - // calculate the length of the buffer that contains the half precision floats. - // 3 channels * width * height * sizeof a 16bit float + // Calculate the length of the buffer that contains the half precision floats. + // 3 channels * width * height * sizeof a 16-bit float unsigned int lenBufFp16 = 3*networkDim*networkDim*sizeof(*imageBufFp16); - // start the inference with mvncLoadTensor() + // Start the inference with mvncLoadTensor() retCode = mvncLoadTensor(graphHandle, imageBufFp16, lenBufFp16, NULL); if (retCode == MVNC_OK) - { // the inference has been started, now call mvncGetResult() for the - // inference result + { // The inference has been started, now call mvncGetResult() for the + // inference result. printf("Successfully loaded the tensor for image %s\n", "image.png"); - // here mvncGetResult() can be called to get the result of the inference - // that was started with mvncLoadTensor() above + // Here mvncGetResult() can be called to get the result of the inference + // that was started with mvncLoadTensor() above. } // - // call mvncDeallocateGraph to free the resources tied to graphHandle - // close the device with mvncCloseDevice() + // Call mvncDeallocateGraph to free the resources tied to graphHandle. + // Close the device with mvncCloseDevice(). // } diff --git a/docs/c_api/mvncOpenDevice.md b/docs/c_api/mvncOpenDevice.md index 048253a..eadb29f 100644 --- a/docs/c_api/mvncOpenDevice.md +++ b/docs/c_api/mvncOpenDevice.md @@ -9,7 +9,7 @@ Version|1.0 See also|[mvncCloseDevice](mvncCloseDevice.md), [mvncGetDeviceName](mvncGetDeviceName.md) [mvncGetDeviceOption](mvncGetDeviceOption.md), [mvncSetDeviceOption](mvncSetDeviceOption.md) ## Overview -This function is used to initialize the NCS device and return a device handle that can be passed to other API functions. +This function is used to initialize the Intel® Movidius™ NCS device and return a device handle that can be passed to other API functions. ## Prototype @@ -22,7 +22,7 @@ mvncStatus mvncOpenDevice(const char *name, void **deviceHandle); Name|Type|Description ----|----|------------ name|const char\*|Pointer to a constant array of chars that contains the name of the device to open. This value is obtained from mvncGetDeviceName. -deviceHandle|void \*\*|Address of a pointer that will be set to point to an opaque structure representing an NCS device. +deviceHandle|void\*\*|Address of a pointer that will be set to point to an opaque structure representing an NCS device. ## Return This function returns an appropriate value from the [mvncStatus](mvncStatus.md) enumeration. @@ -30,7 +30,7 @@ This function returns an appropriate value from the [mvncStatus](mvncStatus.md) ## Known Issues ## Example -In the example below the code gets the name of the first device and then calls mvncOpenDevice to open the device and set the deviceHandle variable for use to other API calls that expect a device handle for an open device. +In the example below, the code gets the name of the first device and then calls mvncOpenDevice to open the device and set the deviceHandle variable for use to other API calls that expect a device handle for an open device. ```C++ #include #include @@ -39,7 +39,7 @@ extern "C" { #include } -// somewhat arbitrary buffer size for the device name +// Somewhat arbitrary buffer size for the device name. #define NAME_SIZE 100 int main(int argc, char** argv) { @@ -48,21 +48,21 @@ int main(int argc, char** argv) char devName[NAME_SIZE]; retCode = mvncGetDeviceName(0, devName, NAME_SIZE); if (retCode != MVNC_OK) - { // failed to get device name, maybe none plugged in. + { // If failed to get device name, may be none plugged in. printf("No NCS devices found\n"); exit(-1); } - // Try to open the NCS device via the device name + // Try to open the NCS device via the device name. retCode = mvncOpenDevice(devName, &deviceHandle); if (retCode != MVNC_OK) - { // failed to open the device. + { // Failed to open the device. printf("Could not open NCS device\n"); exit(-1); } // deviceHandle is ready to use now. - // Pass it to other NC API calls as needed and close it when finished. + // Pass it to other NC API calls as needed, and close it when finished. printf("Successfully opened NCS device!\n"); retCode = mvncCloseDevice(deviceHandle); diff --git a/docs/c_api/mvncSetDeviceOption.md b/docs/c_api/mvncSetDeviceOption.md index 56801d7..ff2eed8 100644 --- a/docs/c_api/mvncSetDeviceOption.md +++ b/docs/c_api/mvncSetDeviceOption.md @@ -9,7 +9,7 @@ Version|1.0 See also|[mvncOpenDevice](mvncOpenDevice.md), [mvncDeviceOptions](mvncDeviceOptions.md), [mvncGetDeviceOption](mvncGetDeviceOption.md) ## Overview -This function sets an option for a specific NCS device. The available options can be found in the [DeviceOptions](mvncDeviceOptions.md) enumeration. +This function sets an option for a specific Intel® Movidius™ Neural Compute Stick (Intel® Movidius™ NCS) device. The available options can be found in the [DeviceOptions](mvncDeviceOptions.md) enumeration. ## Prototype @@ -20,10 +20,10 @@ mvncStatus mvncSetDeviceOption(void *deviceHandle, int option, const void *data, Name|Type|Description ----|----|----------- -deviceHandle|void\*|Pointer to opaque device data type that was initialized with the mvncOpenDevice() function. This specifies which device's option will be set. +deviceHandle|void\*|Pointer to opaque device data type that was initialized with the mvncOpenDevice() function. This specifies which device's option will be set. option|int|A value from the DeviceOptions enumeration that specifies which option will be set. -data|const void\*|Pointer to the data for the new value for the option. The type of data this points to depends on the option that is being set. Check mvncDeviceOptions for the data types that each option requires. -dataLength|unsigned int| An unsigned int that contains the length, in bytes, of the buffer that the data parameter points to. +data|const void\*|Pointer to the data for the new value for the option. The type of data this points to depends on the option that is being set. Check mvncDeviceOptions for the data types that each option requires. +dataLength|unsigned int|An unsigned int that contains the length, in bytes, of the buffer that the data parameter points to. ## Return This function returns an appropriate value from the [mvncStatus](mvncStatus.md) enumeration. diff --git a/docs/c_api/mvncSetGraphOption.md b/docs/c_api/mvncSetGraphOption.md index e03b75b..caf782c 100644 --- a/docs/c_api/mvncSetGraphOption.md +++ b/docs/c_api/mvncSetGraphOption.md @@ -35,23 +35,23 @@ This function returns an appropriate value from the [mvncStatus](mvncStatus.md) . . . - // open NCS device to initialize deviceHandle. - // read compiled graph file into graphFileBuf and put length of it in graphFileLen + // Open NCS device to initialize deviceHandle. + // Read compiled graph file into graphFileBuf and put length of it in graphFileLen - // allocate the graph + // Allocate the graph void* graphHandle; retCode = mvncAllocateGraph(deviceHandle, &graphHandle, graphFileBuf, graphFileLen); if (retCode != MVNC_OK) - { // error allocating graph + { // Error allocating graph printf("Could not allocate graph for file: %s\n", GRAPH_FILE_NAME); } else - { // successfully allocated graph. Now graphHandle is ready to go. - // use graphHandle for other API calls and call mvncDeallocateGraph + { // Successfully allocated graph. Now graphHandle is ready to go. + // Use graphHandle for other API calls and call mvncDeallocateGraph // when done with it. printf("Successfully allocated graph for %s\n", GRAPH_FILE_NAME); - // set the graph option for blocking calls + // Set the graph option for blocking calls int dontBlockValue = 0; retCode = mvncSetGraphOption(graphHandle, MVNC_DONTBLOCK, &dontBlockValue, sizeof(int)); if (retCode == MVNC_OK) @@ -64,8 +64,8 @@ This function returns an appropriate value from the [mvncStatus](mvncStatus.md) printf("Error returned from mvncSetGraphOption: %d\n", retCode); } - // use graphHandle here with the option set above. - // then deallocate the graph and close the device + // Use graphHandle here with the option set above. + // Then deallocate the graph and close the device. } . . diff --git a/docs/c_api/mvncStatus.md b/docs/c_api/mvncStatus.md index 3b528c4..1102c79 100644 --- a/docs/c_api/mvncStatus.md +++ b/docs/c_api/mvncStatus.md @@ -22,4 +22,4 @@ MVNC_MVCMD_NOT_FOUND | The file named MvNCAPI.mvcmd should be installed in the m MVNC_NO_DATA | No data to return. MVNC_GONE | The graph or device has been closed during the operation. MVNC_UNSUPPORTED_GRAPH_FILE | The graph file may have been created with an incompatible prior version of the Toolkit. Try to recompile the graph file with the version of the Toolkit that corresponds to the API version. -MVNC_MYRIAD_ERROR | An error has been reported by Movidius™ VPU. Use MVNC_DEBUGINFO to get more information. +MVNC_MYRIAD_ERROR | An error has been reported by Intel® Movidius™ VPU. Use MVNC_DEBUGINFO to get more information. diff --git a/docs/c_api/readme.md b/docs/c_api/readme.md index 342c927..0d8d5b3 100644 --- a/docs/c_api/readme.md +++ b/docs/c_api/readme.md @@ -1,25 +1,25 @@ -# Movidius™ Neural Compute SDK C API +# Intel® Movidius™ Neural Compute SDK C API -The SDK comes with a C Language API that enables developers to create applications in C or C++ which utilize hardware-accelerated Deep Neural Networks via the Movidius™ Neural Compute Stick (NCS.) The C API is provided as a header file (mvnc.h) and an associated library file (libmvnc.so) both of which are placed on the development computer when the SDK is installed. Details of the C API are provided below and within the documentation linked from here. +The SDK comes with a C language API that enables developers to create applications in C or C++ that utilize hardware-accelerated Deep Neural Networks via the Intel® Movidius™ Neural Compute Stick (Intel® Movidius™ NCS). The C API is provided as a header file (mvnc.h) and an associated library file (libmvnc.so), both of which are placed on the development computer when the SDK is installed. Details of the C API are provided below and within the documentation avilable via the link in each line. ## Enumerations - [mvncStatus](mvncStatus.md): Contains possible return values for API functions. -- [mvncDeviceOptions](mvncDeviceOptions.md): Contains all possible options to get/set for an NCS device, and their data types. +- [mvncDeviceOptions](mvncDeviceOptions.md): Contains all possible options to get/set for an Intel Movidius NCS device, and their data types. - [mvncGraphOptions](mvncGraphOptions.md): Contains all possible options to get/set for a graph, and their data types. -- [mvncGlobalOptions](mvncGlobalOptions.md): Contains all possible global options to get/set and their data types. +- [mvncGlobalOptions](mvncGlobalOptions.md): Contains all possible global options to get/set, and their data types. ## Functions -- [mvncGetDeviceName](mvncGetDeviceName.md): Retrieves the name of an NCS device that can be opened. -- [mvncOpenDevice](mvncOpenDevice.md): Opens an NCS device for use by the application. -- [mvncAllocateGraph](mvncAllocateGraph.md): Allocates a graph for a specific NCS device in preparation for computing inferences. +- [mvncGetDeviceName](mvncGetDeviceName.md): Retrieves the name of an Intel Movidius NCS device that can be opened. +- [mvncOpenDevice](mvncOpenDevice.md): Opens an Intel Movidius NCS device for use by the application. +- [mvncAllocateGraph](mvncAllocateGraph.md): Allocates a graph for a specific Intel Movidius NCS device in preparation for computing inferences. - [mvncDeallocateGraph](mvncDeallocateGraph.md): Deallocates and frees resouces associated with a graph. - [mvncLoadTensor](mvncLoadTensor.md): Initiates an inference by providing input to the neural network. - [mvncGetResult](mvncGetResult.md): Retrieves the result of an inference that was previously initiated. - [mvncSetGraphOption](mvncSetGraphOption.md): Sets an option for a graph. -- [mvncGetGraphOption](mvncGetGraphOption.md): Retrieves an the current value of an option for a graph. -- [mvncSetDeviceOption](mvncSetDeviceOption.md): Sets an option for an NCS device. -- [mvncGetDeviceOption](mvncGetDeviceOption.md): Retrieves the current value of an option for an NCS device. -- [mvncSetGlobalOption](mvncSetGlobalOption.md): Sets a global option for an application +- [mvncGetGraphOption](mvncGetGraphOption.md): Retrieves the current value of an option for a graph. +- [mvncSetDeviceOption](mvncSetDeviceOption.md): Sets an option for an Intel Movidius NCS device. +- [mvncGetDeviceOption](mvncGetDeviceOption.md): Retrieves the current value of an option for an Intel Movidius NCS device. +- [mvncSetGlobalOption](mvncSetGlobalOption.md): Sets a global option for an application. - [mvncGetGlobalOption](mvncGetGlobalOption.md): Retrieves the current value of a global option for an application. -- [mvncCloseDevice](mvncCloseDevice.md): Closes a previously opened NCS device. +- [mvncCloseDevice](mvncCloseDevice.md): Closes a previously opened Intel Movidius NCS device. diff --git a/docs/configure_network.md b/docs/configure_network.md index 745dd06..f0069c6 100644 --- a/docs/configure_network.md +++ b/docs/configure_network.md @@ -121,7 +121,7 @@ labels_offset=0 ``` Code snippet: ``` -#load the label files +#Load the label files labels_offset=0 # no background class offset labels_file='./synset_words.txt' labels=numpy.loadtxt(labels_file,str,delimiter='\t') @@ -134,7 +134,7 @@ iterations = graph.GetGraphOption(mvnc.GraphOption.ITERATIONS) img = cv2.imread('./dog.jpg') # using OpenCV for reading the image, it will be in BGR img=cv2.resize(img,(224,224)) # resize to 224x224 img-=[104,117,124] # subtract mean -#run, get the result and print results per the synset_words.txt +#Run, get the result and print results per the synset_words.txt graph.LoadTensor(img.astype(numpy.float16), 'user object') output, userobj = graph.GetResult() order = output.argsort()[::-1][:6] @@ -155,7 +155,7 @@ labels_offset=1 ``` Code snippet: ``` -#load the label files +#Load the label files labels_offset=1 # background class offset of 1 labels_file='./synset_words.txt' labels=numpy.loadtxt(labels_file,str,delimiter='\t') @@ -165,13 +165,13 @@ with open('./inceptionv3.blob', mode='rb') as f: graph = device.AllocateGraph(blob) graph.SetGraphOption(mvnc.GraphOption.ITERATIONS, 1) iterations = graph.GetGraphOption(mvnc.GraphOption.ITERATIONS) -#import the image and do the proper scaling +#Import the image and do the proper scaling img = cv2.imread('./dog.jpg').astype(numpy.float32) # using OpenCV for reading the image, it will be in BGR img=cv2.resize(img,(299,299)) # resize to 299x299 img=cv2.cvtColor(img,cv2.COLOR_BGR2RGB) # need to convert to RBG img-=[128,128,128] # subtract mean img /=128. # scale the image -#run, get the result and print results per the synset_words.txt +#Run, get the result and print results per the synset_words.txt graph.LoadTensor(img.astype(numpy.float16), 'user object') output, userobj = graph.GetResult() order = output.argsort()[::-1][:6] diff --git a/docs/install.md b/docs/install.md index cfeb4d2..e5f105d 100644 --- a/docs/install.md +++ b/docs/install.md @@ -19,10 +19,13 @@ The Intel Movidius NCS connects to the development computer over a USB 2.0 High ![](images/ncs_plugged.jpg) ## Installation of SDK and Examples -To install the SDK along with the examples in this repository, use the following command on your development computer. This is the typical installation. If you haven't already installed the SDK on your development computer, you should use this command to install: +To install the SDK along with the examples in this repository, use the following command on your development computer. This is the typical installation. If your development machine already has caffe installed see the note below. If you haven't already installed the SDK on your development computer, you should use this command to install: ``` git clone http://github.com/Movidius/ncsdk && cd ncsdk && make install && make examples ``` +Note: if you are installing on a machine that already has caffe installed and it's directory is already in the PYTHONPATH environment variable you will need to manually remove the existing directory from the PYTHONPATH environment variable prior to installing the ncsdk. Also, you will need to manually adjust the PYTHONPATH to match your development needs such that it points to the caffe version installed with the NCSDK when using the NCSDK, and it points to other caffe versions when using those. + +Note: The installation will only set the PYTHONPATH environment variable for the current user. It will do so by modifying the .bashrc file for that user. To use the sdk as other users on the machine you will need to manually set the PYTHONPATH for those other users. ## Installation of Examples without SDK To install only the examples and not the SDK on your development computer, use the following command to clone the repository and then make appropriate examples for your development computer. If you already have the SDK installed and only need the examples on your machine, you should use this command to install the examples: diff --git a/docs/manifest.md b/docs/manifest.md index fbf251a..85c33d2 100644 --- a/docs/manifest.md +++ b/docs/manifest.md @@ -1,5 +1,5 @@ -# NC SDK installation manifest +# NC SDK Installation Manifest These are the files and directories installed outside of repository directory as part of the NC SDK. - /usr/local/include/mvnc.h diff --git a/docs/py_api/Device.AllocateGraph.md b/docs/py_api/Device.AllocateGraph.md index 45f59a6..779eca8 100644 --- a/docs/py_api/Device.AllocateGraph.md +++ b/docs/py_api/Device.AllocateGraph.md @@ -5,10 +5,10 @@ |Package | mvnc | |Module | mvncapi | |Version | 1.0 | -|See also|Graph
      Graph.DeallocateGraph
      | +|See also|[Graph](Graph.md)
      [Graph.DeallocateGraph()](Graph.DeallocateGraph.md)
      | ## Overview -This function is used to create an instance of a Graph that represents a neural network which can be used to infer results via methods Graph.LoadTensor() and Graph.GetResult(). +This function is used to create an instance of a Graph that represents a neural network, which can be used to infer results via methods Graph.LoadTensor() and Graph.GetResult(). ## Syntax @@ -20,13 +20,13 @@ dev.AllocateGraph(graphPath) |Parameter | Description | |---------------|---------------| -|graphPath | A string that is the path to the graph file. The graph file must have been created with the NC SDK graph compiler.| +|graphPath | A string that is the path to the graph file. The graph file must have been created with the NC SDK graph compiler.| ## Return Returns an instance of a Graph object that is ready to use. ## Known Issues -After the Graph that is created is no longer needed Graph.DeallocateGraph() must be called to free the graph resources. +After the Graph that is created is no longer needed, Graph.DeallocateGraph() must be called to free the graph resources. ## Example ```python diff --git a/docs/py_api/Device.CloseDevice.md b/docs/py_api/Device.CloseDevice.md index f4cf8bf..6c5dc47 100644 --- a/docs/py_api/Device.CloseDevice.md +++ b/docs/py_api/Device.CloseDevice.md @@ -5,7 +5,7 @@ |Package | mvnc | |Module | mvncapi | |Version | 1.0 | -|See also|Device.\_\_init\_\_()
      Device.OpenDevice()| +|See also|[Device.\_\_init\_\_()](Device.__init__.md)
      [Device.OpenDevice()](Device.OpenDevice.md)| ## Overview This function is used to cease communication and reset the device. diff --git a/docs/py_api/Device.GetDeviceOption.md b/docs/py_api/Device.GetDeviceOption.md index a671552..f3850c2 100644 --- a/docs/py_api/Device.GetDeviceOption.md +++ b/docs/py_api/Device.GetDeviceOption.md @@ -5,10 +5,10 @@ |Package | mvnc | |Module | mvncapi | |Version | 1.0 | -|See also |Device.SetDeviceOption
      DeviceOption| +|See also |[Device.SetDeviceOption()](Device.SetDeviceOption.md)
      [DeviceOption](DeviceOption.md)| ## Overview -This function is used to get an option for the device. The options can be found in the DeviceOption enumeration table. +This function is used to get an option for the device. The options can be found in the [DeviceOption](DeviceOption.md) enumeration table. ## Syntax ```python @@ -22,7 +22,7 @@ GetDeviceOption(option) | option | Member of the DeviceOption enumeration that specifies which option to get.| ## Return -The value for the specified device option. The type of the returned value depends on the option specified. See the DeviceOption enumeration for the type that will be returned for each option. +The value for the specified device option. The type of the returned value depends on the option specified. See the [DeviceOption](DeviceOption.md) enumeration for the type that will be returned for each option. ## Known Issues diff --git a/docs/py_api/Device.OpenDevice.md b/docs/py_api/Device.OpenDevice.md index fe17132..d36befc 100644 --- a/docs/py_api/Device.OpenDevice.md +++ b/docs/py_api/Device.OpenDevice.md @@ -5,7 +5,7 @@ |Package | mvnc | |Module | mvncapi | |Version | 1.0 | -|See also|Device.\_\_init\_\_()
      Device.CloseDevice()| +|See also|[Device.\_\_init\_\_()](Device.__init__.md)
      [Device.CloseDevice()](Device.CloseDevice.md)| ## Overview This function is used to initialize the device. @@ -31,7 +31,7 @@ import mvnc.mvncapi as ncs deviceNames = ncs.EnumerateDevices() firstDevice = ncs.Device(deviceNames[0]) firstDevice.OpenDevice() -# use device +# Use device firstDevice.CloseDevice() ############################################# diff --git a/docs/py_api/Device.SetDeviceOption.md b/docs/py_api/Device.SetDeviceOption.md index 22d7aa6..6200dd9 100644 --- a/docs/py_api/Device.SetDeviceOption.md +++ b/docs/py_api/Device.SetDeviceOption.md @@ -5,10 +5,10 @@ |Package | mvnc | |Module | mvncapi | |Version | 1.0 | -|See also|Device.GetDeviceOption()
      DeviceOption| +|See also |[Device.GetDeviceOption()](Device.GetDeviceOption.md)
      [DeviceOption](DeviceOption.md)| ## Overview -This function is used to set an option for the device. The options can be found in the DeviceOption enumeration class. +This function is used to set an option for the device. The options can be found in the [DeviceOption](DeviceOption.md) enumeration class. ## Syntax ```python @@ -19,8 +19,8 @@ SetDeviceOption(option, value) |Parameter | Description | |-----------|---------------| -|option | Member of the DeviceOption enumeration class that specifies which device option to set | -|value | The new value to which the device option will be set. The type to pass for this parameter depends on which option is being set. See the DeviceOption enumeration class for the types that correspond to each option.| +|option | Member of the DeviceOption enumeration class that specifies which device option to set. | +|value | The new value to which the device option will be set. The type to pass for this parameter depends on which option is being set. See the [DeviceOption](DeviceOption.md) enumeration class for the types that correspond to each option.| ## Return diff --git a/docs/py_api/Device.__init__.md b/docs/py_api/Device.__init__.md index 4a057b6..e1260ba 100644 --- a/docs/py_api/Device.__init__.md +++ b/docs/py_api/Device.__init__.md @@ -20,7 +20,7 @@ mvnc.Device("device name here") |Parameter | Description | |---------------|---------------| -|deviceName | The name of the device to initialize. This must come from calling mvncapi module function EnumerateDevices()| +|deviceName | The name of the device to initialize. This must come from calling mvncapi module function EnumerateDevices().| ## Return None. @@ -34,7 +34,7 @@ import mvnc.mvncapi as ncs # Enumerate devices deviceNames = ncs.EnumerateDevices() -# create and init a Device instance. +# Create and init a device instance ncsDevice = ncs.Device(deviceNames[0]) # Open device, use device, close device diff --git a/docs/py_api/Device.md b/docs/py_api/Device.md index b84d630..c7f3bca 100644 --- a/docs/py_api/Device.md +++ b/docs/py_api/Device.md @@ -1,14 +1,14 @@ -# Device class +# Device Class -The Device class represents the NCS device. Typically one instance of this class is created for each physical NCS device that is plugged into the system so multiple instances may exist if you have multiple devices attached ot your system. +The Device class represents the Intel® Movidius™ Neural Compute Stick (Intel® Movidius™ NCS) device. Typically one instance of this class is created for each physical NCS device that is plugged into the system, so multiple instances may exist if you have multiple devices attached to your system. -# Usage -To use the Device class you must create and initialize it by name. The valid names to use can be determined by calling the mvncapi module function EnumerateDevices(). Once you have successfully created an instance of this class the typical usage is to call OpenDevice(), AllocateGraph(), use the graph, CloseDevice(). +## Usage +To use the Device class, you must create and initialize it by name. The valid names to use can be determined by calling the mvncapi module function EnumerateDevices(). Once you have successfully created an instance of this class, the typical usage is to call OpenDevice(), AllocateGraph(), use the graph, and CloseDevice(). -# Device methods -## [\_\_init\_\_](Device.__init__.md) -## [OpenDevice](Device.OpenDevice.md) -## [CloseDevice](Device.CloseDevice.md) -## [SetDeviceOption](Device.SetDeviceOption.md) -## [GetDeviceOption](Device.GetDeviceOption.md) -## [AllocateGraph](Device.AllocateGraph.md) +## Device methods +- [\_\_init\_\_](Device.__init__.md) +- [OpenDevice](Device.OpenDevice.md) +- [CloseDevice](Device.CloseDevice.md) +- [SetDeviceOption](Device.SetDeviceOption.md) +- [GetDeviceOption](Device.GetDeviceOption.md) +- [AllocateGraph](Device.AllocateGraph.md) diff --git a/docs/py_api/DeviceOption.md b/docs/py_api/DeviceOption.md index b1dc59b..2d6ec16 100644 --- a/docs/py_api/DeviceOption.md +++ b/docs/py_api/DeviceOption.md @@ -1,11 +1,11 @@ -# DeviceOption enumeration class +# DeviceOption Enumeration Class |Info | Value | |----------|---------------| |Package | mvnc | |Module | mvncapi | |Version | 1.0 | -|See also |Device.SetDeviceOption()
      Device.GetDeviceOption()| +|See also |[Device.SetDeviceOption()](Device.SetDeviceOption.md)
      [Device.GetDeviceOption()](Device.GetDeviceOption.md)| @@ -13,6 +13,7 @@ The DeviceOption class is an enumeration class that defines the options that are passed to and received from the SetDeviceOption and the GetDeviceOption functions. -Enumerator Values|Description ------------- | ------------- -THERMAL_THROTTLING_LEVEL |Returns 1 if lower guard temperature threshold of chip sensor is reached. This indicates short throttling time is in action between inferences to protect the device. Returns 2 if upper guard temperature of chip sensor is reached. This indicates long throttling time is in action between inferences to protect the device. +enum | option type | possible values|get/set|Description +------------------------ | ----------- | -------------- |-------|----------- +THERMAL_THROTTLING_LEVEL | int | 1, 2 | get |1: if lower guard temperature threshold of chip sensor is reached. This indicates short throttling time is in action between inferences to protect the device.
      2: if upper guard temperature of chip sensor is reached. This indicates long throttling time is in action between inferences to protect the device. + diff --git a/docs/py_api/EnumerateDevices.md b/docs/py_api/EnumerateDevices.md index ad9d4f5..2f88186 100644 --- a/docs/py_api/EnumerateDevices.md +++ b/docs/py_api/EnumerateDevices.md @@ -5,10 +5,10 @@ |Package | mvnc | |Module | mvncapi | |Version | 1.0 | -|See also | Device | +|See also | [Device](Device.md) | ## Overview -This function is used to get a list of the names of the devices present in the system. Each of the returned names can be used to create an instance of the Device class. +This function is used to get a list of the names of the devices present in the system. Each of the names returned can be used to create an instance of the Device class. ## Syntax @@ -20,7 +20,7 @@ deviceNames = EnumerateDevices() None. ## Return -An array of device names each of which can be used to create a new instance of the Device class. +An array of device names, each of which can be used to create a new instance of the Device class. ## Known Issues @@ -32,7 +32,7 @@ if len(deviceNames) == 0: print("Error - No devices detected.") quit() -# open first NCS device found +# Open first NCS device found device = ncs.Device(deviceNames[0]) # Allocate graph / otherwise use device as needed diff --git a/docs/py_api/GetGlobalOption.md b/docs/py_api/GetGlobalOption.md index bd6c852..950cac7 100644 --- a/docs/py_api/GetGlobalOption.md +++ b/docs/py_api/GetGlobalOption.md @@ -5,10 +5,10 @@ |Package | mvnc | |Module | mvncapi | |Version | 1.0 | -|See also | GlobalOption
      SetGlobalOption()| +|See also | [GlobalOption](GlobalOption.md)
      [SetGlobalOption()](SetGlobalOption.md)| ## Overview -This function is used to get a global option. The available options can be found in the GlobalOption enumeration section. +This function is used to get a Global option. The available options can be found in the [GlobalOption](GlobalOption.md) enumeration section. ## Syntax @@ -23,7 +23,7 @@ value = GetGlobalOption(option) |option |Member of the GlobalOption enumeration that specifies which option to get.| ## Return -The value for the specified option. The type of the returned value depends on the option specified. See the GlobalOption enumeration for the type that will be returned for each option. +The value for the specified option. The type of the returned value depends on the option specified. See the [GlobalOption](GlobalOption.md) enumeration for the type that will be returned for each option. ## Known Issues diff --git a/docs/py_api/GlobalOption.md b/docs/py_api/GlobalOption.md index 3df0d99..54ea6b9 100644 --- a/docs/py_api/GlobalOption.md +++ b/docs/py_api/GlobalOption.md @@ -1,11 +1,11 @@ -# GlobalOption enumeration class +# GlobalOption Enumeration Class |Info | Value | |----------|---------------| |Package | mvnc | |Module | mvncapi | |Version | 1.0 | -|See also | SetGlobalOption()
      GetGlobalOption()| +|See also | [SetGlobalOption()](SetGlobalOption.md)
      [GetGlobalOption()](GetGlobalOption.md)| @@ -13,8 +13,10 @@ The GlobalOption class is an enumeration class that defines the options that are passed to and received from the SetGlobalOption and the GetGlobalOption functions. -Enumerator Values|Description ------------- | ------------- -LOGLEVEL |0=Nothing is printed.
      1=Print errors only.
      2=Verbose. +enum | option type | possible values|get/set |Description +-------- | ----------- | -------------- |----------|----------- +LOGLEVEL | int | 0, 1, 2 | get, set | 0 = Nothing is printed (default)
      1 = Print errors only
      2 = Verbose + + diff --git a/docs/py_api/Graph.DeallocateGraph.md b/docs/py_api/Graph.DeallocateGraph.md index adf6d8f..202e8f2 100644 --- a/docs/py_api/Graph.DeallocateGraph.md +++ b/docs/py_api/Graph.DeallocateGraph.md @@ -5,10 +5,10 @@ |Package | mvnc | |Module | mvncapi | |Version | 1.0 | -|See also|Device.AllocateGraph()| +|See also|[Device.AllocateGraph()](Device.AllocateGraph.md)| ## Overview -This function is used to deallocate a graph that was allocated for an NCS device with the Device.AllocateGraph() method. This should be called for every graph that is created to free resources associated with the graph. +This function is used to deallocate a graph that was allocated for an Intel® Movidius™ NCS device with the Device.AllocateGraph() method. This should be called for every graph that is created to free resources associated with the graph. ## Syntax @@ -33,7 +33,7 @@ if len(deviceNames) == 0: print("Error - No devices detected.") quit() -# open first NCS device found +# Open first NCS device found device = mvnc.Device(devices[0]) # Allocate the graph diff --git a/docs/py_api/Graph.GetGraphOption.md b/docs/py_api/Graph.GetGraphOption.md index c0649d8..1514b63 100644 --- a/docs/py_api/Graph.GetGraphOption.md +++ b/docs/py_api/Graph.GetGraphOption.md @@ -5,10 +5,10 @@ |Package | mvnc | |Module | mvncapi | |Version | 1.0 | -|See also|Graph.SetGraphOption()
      GraphOption| +|See also|[Graph.SetGraphOption()](Graph.SetGraphOption.md)
      [GraphOption](GraphOption.md)| ## Overview -This function is used to get a graph option. The available options can be found in GraphOption enumeration class. +This function is used to get a graph option. The available options can be found in [GraphOption](GraphOption.md) enumeration class. ## Syntax ```python @@ -22,7 +22,7 @@ value = graph.GetGraphOption(option) |option | A value from the GraphOption enumeration to specify which option's value should be returned. | ## Return -The value for the specified GraphOption is returned. The type of the returned value depends on the option specified. See the GraphOption class for the value types for each option. +The value for the specified GraphOption is returned. The type of the returned value depends on the option specified. See the [GraphOption](GraphOption.md) class for the value types for each option. ## Known Issues diff --git a/docs/py_api/Graph.GetResult.md b/docs/py_api/Graph.GetResult.md index 5ca1755..04eab4a 100644 --- a/docs/py_api/Graph.GetResult.md +++ b/docs/py_api/Graph.GetResult.md @@ -5,7 +5,7 @@ |Package | mvnc | |Module | mvncapi | |Version | 1.0 | -|See also |Graph.LoadTensor()| +|See also |[Graph.LoadTensor()](Graph.LoadTensor.md)| ## Overview This function retrieves the result of an inference that was initiated via Graph.LoadTensor() on the specified graph. diff --git a/docs/py_api/Graph.LoadTensor.md b/docs/py_api/Graph.LoadTensor.md index 64e2111..602d9dd 100644 --- a/docs/py_api/Graph.LoadTensor.md +++ b/docs/py_api/Graph.LoadTensor.md @@ -5,10 +5,10 @@ |Package | mvnc | |Module | mvncapi | |Version | 1.0 | -|See also |Graph.GetResult()| +|See also |[Graph.GetResult()](Graph.GetResult.md)| ## Overview -This function initiates an inference on the specified graph via the associated NCS device. After calling this function use the Graph.GetResult() function to retrieve the inference result. +This function initiates an inference on the specified graph via the associated Intel® Movidius™ NCS device. After calling this function, use the Graph.GetResult() function to retrieve the inference result. ## Syntax @@ -19,11 +19,11 @@ graph.LoadTensor(inputTensor, userObject) |Parameter | Description | |---------------|---------------| -|inputTensor | Input data on which an inderence will be run. The data must be passed in a NumPy ndarray of half precision floats (float 16) | | +|inputTensor | Input data on which an inference will be run. The data must be passed in a NumPy ndarray of half precision floats (float 16). | | |userObject | A user-defined parameter that is returned by the GetResult function along with the inference result for this tensor.| ## Return -Returns True if the function works, False if not. When the graph is in non blocking mode (GraphOption.DONTBLOCK) this function will return False if the device is busy. +Returns True if the function works, False if not. When the graph is in non-blocking mode (GraphOption.DONTBLOCK), this function will return False if the device is busy. ## Known Issues diff --git a/docs/py_api/Graph.SetGraphOption.md b/docs/py_api/Graph.SetGraphOption.md index 907aeed..91e5a86 100644 --- a/docs/py_api/Graph.SetGraphOption.md +++ b/docs/py_api/Graph.SetGraphOption.md @@ -5,10 +5,10 @@ |Package | mvnc | |Module | mvncapi | |Version | 1.0 | -|See also|Graph.GetGraphOption()
      GraphOption| +|See also|[Graph.GetGraphOption()](Graph.GetGraphOption.md)
      [GraphOption](GraphOption.md)| ## Overview -This function is used to set a graph option. The available options can be found in the GraphOption enumeration class. +This function is used to set a graph option. The available options can be found in the [GraphOption](GraphOption.md) enumeration class. ## Syntax ```python @@ -20,7 +20,7 @@ graph.SetGraphOption(option, value) Parameter | Description ---------------|--------------- option | Member of the GraphOption enumeration specifying which option's value will be set. -value | The new value to which the specified graph option will be set. See the GraphOption enumeration class for the type of value for each option. +value | The new value to which the specified graph option will be set. See the [GraphOption](GraphOption.md) enumeration class for the type of value for each option. ## Return diff --git a/docs/py_api/Graph.md b/docs/py_api/Graph.md index 8d62029..b9c3b30 100644 --- a/docs/py_api/Graph.md +++ b/docs/py_api/Graph.md @@ -1,13 +1,13 @@ -# Graph class +# Graph Class -The Graph class is a container for a neural network graph file that is associated with a particular NCS device. +The Graph class is a container for a neural network graph file that is associated with a particular Intel® Movidius™ Neural Compute Stick (Intel® Movidius™ NCS) device. -# Usage -To use the Graph class you must create a graph handle by calling AllocateGraph() from the Device class. The location of the graph file will be passed to AllocateGraph() and it will return an instance of the Graph class. Once you have successfully created an instance of this class, the typical usage is to optionally get/set graph options, then call LoadTensor() and GetResult(), to perform inferencing with the graph that was allocated, and finally call DeallocateGraph() when the neural network is no longer needed. +## Usage +To use the Graph class, you must create a graph handle by calling AllocateGraph() from the Device class. The location of the graph file will be passed to AllocateGraph(), and it will return an instance of the Graph class. Once you have successfully created an instance of this class, the typical usage is to optionally get/set graph options, then call LoadTensor() and GetResult() to perform inferencing with the graph that was allocated. Finally, call DeallocateGraph() when the neural network is no longer needed. -# Graph methods -## [DeallocateGraph](Graph.DeallocateGraph.md) -## [SetGraphOption](Graph.SetGraphOption.md) -## [GetGraphOption](Graph.GetGraphOption.md) -## [LoadTensor](Graph.LoadTensor.md) -## [GetResult](Graph.GetResult.md) +## Graph methods +- [DeallocateGraph](Graph.DeallocateGraph.md) +- [SetGraphOption](Graph.SetGraphOption.md) +- [GetGraphOption](Graph.GetGraphOption.md) +- [LoadTensor](Graph.LoadTensor.md) +- [GetResult](Graph.GetResult.md) diff --git a/docs/py_api/GraphOption.md b/docs/py_api/GraphOption.md index 190bcaa..05eee91 100644 --- a/docs/py_api/GraphOption.md +++ b/docs/py_api/GraphOption.md @@ -1,11 +1,11 @@ -# GraphOption enumeration class +# GraphOption Enumeration Class |Info | Value | |----------|---------------| |Package | mvnc | |Module | mvncapi | |Version | 1.0 | -|See also | Graph.SetGraphOption()
      Graph.GetGraphOption()| +|See also | [Graph.SetGraphOption()](Graph.SetGraphOption.md)
      [Graph.GetGraphOption()](Graph.GetGraphOption.md)| @@ -15,6 +15,6 @@ The GraphOption class is an enumeration class that defines the options that are enum| option type | possible values|get/set|Description --- | ----------- | -------------- |-------|----------- -DONTBLOCK |integer |0 or 1|get/set|0: LoadTensor and GetResult Block
      1: LoadTensor returns BUSY instead of blocking. GetResult will return NODATA instead of blocking. +DONTBLOCK |int |0 or 1|get/set|0: Calls to Graph.LoadTensor() and Graph.GetResult() will block (won't return until the action is completed) (Default)
      1: Calls to those functions don't block (they will return immediately). If the action coudn't be completed the return value will indicate why. Graph.LoadTensor() will return MVNC_BUSY when the NCS isn't able to perform the action because its busy, try again later. Graph.GetResult() will return MVNC_NO_DATA unless there is an inference that is ready to be returned. In this case try again later and when there is a completed inference the results will be returned. TIMETAKEN |string |any|get|Return a NumPy float array [numpy.array()] of inference times per layer in float data type. -DEBUGINFO | string |any|get|Return a string with the error text as returned by the device. +DEBUGINFO |string |any|get|Return a string with the error text as returned by the device. diff --git a/docs/py_api/SetGlobalOption.md b/docs/py_api/SetGlobalOption.md index abfa611..09959eb 100644 --- a/docs/py_api/SetGlobalOption.md +++ b/docs/py_api/SetGlobalOption.md @@ -5,10 +5,10 @@ |Package | mvnc | |Module | mvncapi | |Version | 1.0 | -|See also | GlobalOption
      GetGlobalOption()| +|See also | [GlobalOption](GlobalOption.md)
      [GetGlobalOption()](GetGlobalOption.md)| ## Overview -This function is used to set a global option. The available Global options and possible values can be found in the documentation for the GlobalOption enumeration. +This function is used to set a Global option. The available Global options and possible values can be found in the documentation for the [GlobalOption](GlobalOption.md) enumeration. ## Syntax @@ -20,8 +20,8 @@ SetGlobalOption(option, value) |Parameter | Description | |---------------|---------------| -|option|Member of the GlobalOptions enumeration which specifies which option to set.| -|value |The new value to which the option will be set. See the GlobalOption enumeration class for the type of value for each option.| +|option|Member of the GlobalOptions enumeration that specifies which option to set.| +|value |The new value to which the option will be set. See the [GlobalOption](GlobalOption.md) enumeration class for the type of value for each option.| ## Known Issues @@ -29,6 +29,6 @@ SetGlobalOption(option, value) ```Python import mvnc.mvncapi as ncs -# set the global logging level to verbose +# Set the global logging level to verbose ncs.SetGlobalOption(ncs.GlobalOption.LOGLEVEL, 2) ``` diff --git a/docs/py_api/Status.md b/docs/py_api/Status.md index ea0d4a2..8713b49 100644 --- a/docs/py_api/Status.md +++ b/docs/py_api/Status.md @@ -1,4 +1,4 @@ -# Status enumeration class +# Status Enumeration Class |Info | Value | |----------|---------------| @@ -24,6 +24,6 @@ MVNC_TIMEOUT |Timeout in the communication with the device MVNC_MVCMD_NOT_FOUND |The file named MvNCAPI.mvcmd is installed in the mvnc directory. This message means that the file has been moved or installer failed. MVNC_NO_DATA |No data to return. MVNC_GONE |The graph or device has been closed during the operation. -MVNC_UNSUPPORTED_GRAPH_FILE |The graph file is corrupt or may have been created with an incompatible prior version of the NCS toolkit. Try to recompile the graph file with the version of the Toolkit that corresponds to the API version. -MVNC_MYRIAD_ERROR |An error has been reported by the Movidius™ VPU. Use MVNC_DEBUGINFO. +MVNC_UNSUPPORTED_GRAPH_FILE |The graph file is corrupt or may have been created with an incompatible prior version of the NCS toolkit. Try to recompile the graph file with the version of the toolkit that corresponds to the API version. +MVNC_MYRIAD_ERROR |An error has been reported by the Intel® Movidius™ VPU. Use MVNC_DEBUGINFO. diff --git a/docs/py_api/readme.md b/docs/py_api/readme.md index 169dc3c..c0880d2 100644 --- a/docs/py_api/readme.md +++ b/docs/py_api/readme.md @@ -1,28 +1,28 @@ -# Movidius™ Neural Compute SDK Python API +# Intel® Movidius™ Neural Compute SDK Python API -The SDK comes with a Python3 Language API that enables applications that utilize hardware accelerated Deep Neural Networks via the Movidius™ Neural Compute Stick (NCS.) The API is provided as a single python script (mvncapi.py) which is placed on the development computer when the SDK is installed. Details of the Python API are provided below and within the documents linked from here. +The Intel® Movidius™ Neural Compute SDK comes with a Python3 Language API that enables applications that utilize hardware accelerated Deep Neural Networks via the Intel® Movidius™ Neural Compute Stick (Intel® Movidius™ NCS). The API is provided as a single Python script (mvncapi.py), which is placed on the development computer when the SDK is installed. Details of the Python API are provided below and within the documents linked from here. ## Class Diagram -The Python class diagram follows. In this diagram it is shown that the entire python api is in the mvnc Python package. Within the mvnc package there is one Python module which is mvncapi. The mvncapi module is defined by the contents of the mvncapi.py file. +The Python class diagram follows. In this diagram, it is shown that the entire Python API is in the mvnc Python package. Within the mvnc package, there is one Python module, which is mvncapi. The mvncapi module is defined by the contents of the mvncapi.py file. ![](../images/python_api_class_diagram.jpg) -In the sections that follow, the details of the elements within the mvncapi module are provided. This includes module level enumerations, functions that are global to the module, and the classes defined in the module. +The details of the elements within the mvncapi module are provided in the lists that follow. These include module level enumerations, functions that are global to the module, and the classes defined in the module. ## Enumerations -### [GlobalOption](GlobalOption.md) -### [DeviceOption](DeviceOption.md) -### [GraphOption](GraphOption.md) -### [Status](Status.md) +- [GlobalOption](GlobalOption.md) +- [DeviceOption](DeviceOption.md) +- [GraphOption](GraphOption.md) +- [Status](Status.md) ## Global Functions -### [EnumerateDevices](EnumerateDevices.md) -### [SetGlobalOption](SetGlobalOption.md) -### [GetGlobalOption](GetGlobalOption.md) +- [EnumerateDevices](EnumerateDevices.md) +- [SetGlobalOption](SetGlobalOption.md) +- [GetGlobalOption](GetGlobalOption.md) ## Classes -### [Device](Device.md) -### [Graph](Graph.md) +- [Device](Device.md) +- [Graph](Graph.md) diff --git a/docs/readme.md b/docs/readme.md index efd60ee..0ed35b0 100644 --- a/docs/readme.md +++ b/docs/readme.md @@ -93,5 +93,12 @@ The Neural Compute App Zoo is a GitHub repository at [http://github.com/Movidius See [The Neural Compute App Zoo README](https://github.com/Movidius/ncappzoo/blob/master/README.md) for more information. + +# Troubleshooting and Tech Support +Be sure to check the [NCS Troubleshooting Guide](https://ncsforum.movidius.com/discussion/370/intel-ncs-troubleshooting-help-and-guidelines#latest) if you run into any issues with the NCS or NCSDK. -[Release Notes](release_notes.md) +Also for general tech support issues the [NCS User Forum](https://developer.movidius.com/forums) is recommended and contains community discussions on many issues and resolutions. + + +# Release Notes +See the latests [Release Notes](release_notes.md) for detailed information of the specific release. diff --git a/docs/release_notes.md b/docs/release_notes.md index b7d6d97..fa8b9d5 100644 --- a/docs/release_notes.md +++ b/docs/release_notes.md @@ -1,22 +1,17 @@ ============================================================ # Movidius Neural Compute SDK Release Notes -# V1.10.00 2017-10-31 +# V1.10.01 2017-11-15 ============================================================ -###As of V1.09.00, SDK has been refactored and contains many new features and structural changes. It is recommended you read the documentation to familiarize with the new features and contents. Please see v1.09.00 release notes, using github tag https://github.com/movidius/ncsdk/tree/v1.09.00.06 +As of V1.09.00, SDK has been refactored and contains many new features and structural changes. It is recommended you read the documentation to familiarize with the new features and contents. Please see v1.09.00 release notes, using github tag https://github.com/movidius/ncsdk/tree/v1.09.00.06 ## SDK Notes: -New features: -Networks: - Inception-v2 - Optimized mobilenet (down to 42ms from 110 ms on 12 shaves, for the 224x224 version) -Layers: - Dilated convolution - Optimized depth convolution: still supporting only 3x3 convolution - 1x1 pooling with stride 2, acting as up-sampling - Fix for TF-like padding for convolution. May fail for large input channels (more than 200). - - +### New features: +#### Networks: +1. VGG 16 for both Caffe and Tensorflow +2. Resnet 18 for Caffe +3. Resnet 50 for Caffe + ## API Notes: 1. No change @@ -31,6 +26,9 @@ Support for the following networks has been tested. 5. VGG (Sousmith VGG_A) 6. Alexnet 7. TinyYolo v1 +8. VGG 16 +9. Resnet 18 +10. Resnet 50 ### Tensorflow r1.3 1. inception-v1 @@ -38,23 +36,24 @@ Support for the following networks has been tested. 3. inception-v3 4. inception-v4 5. Inception ResNet v2 -6. Mobilenet_V1_1.0 variants: -MobileNet_v1_1.0_224 -MobileNet_v1_1.0_192 -MobileNet_v1_1.0_160 -MobileNet_v1_1.0_128 -MobileNet_v1_0.75_224 -MobileNet_v1_0.75_192 -MobileNet_v1_0.75_160 -MobileNet_v1_0.75_128 -MobileNet_v1_0.5_224 -MobileNet_v1_0.5_192 -MobileNet_v1_0.5_160 -MobileNet_v1_0.5_128 -MobileNet_v1_0.25_224 -MobileNet_v1_0.25_192 -MobileNet_v1_0.25_160 -MobileNet_v1_0.25_128 +6. VGG 16 +7. Mobilenet_V1_1.0 variants: + - MobileNet_v1_1.0_224 + - MobileNet_v1_1.0_192 + - MobileNet_v1_1.0_160 + - MobileNet_v1_1.0_128 + - MobileNet_v1_0.75_224 + - MobileNet_v1_0.75_192 + - MobileNet_v1_0.75_160 + - MobileNet_v1_0.75_128 + - MobileNet_v1_0.5_224 + - MobileNet_v1_0.5_192 + - MobileNet_v1_0.5_160 + - MobileNet_v1_0.5_128 + - MobileNet_v1_0.25_224 + - MobileNet_v1_0.25_192 + - MobileNet_v1_0.25_160 + - MobileNet_v1_0.25_128 ## Firmware Features: 1. Convolutions @@ -84,18 +83,17 @@ MobileNet_v1_0.25_128 ## Bug Fixes: -1. Fixed -- mvNCProfile gives wrong results for MFLOPs for depthwise_convolution layer. -2. Fixed -- apps report NaN or wrong results, with input dimension not multiple of 8. -3. Fixed -- API reports timeout error if input dimension < 8. -4. Fixed -- SDK can not be installed by root user in Ubuntu. + Fixed: Installation does not succeed as root user + Fixed: Support for larger convolutions, enabling VGG 16 support + Fixed: Issues blocking Resnet 18 and Resnet 50 ## Errata: 1. Python 2.7 is fully supported for making user applications, but only the helloworld_py example runs as-is in both python 2.7 and 3.5 due to dependencies on modules. -2. SDK tools for tensorflow on Rasbpian Stretch are not supported for this release, due to erlack of an integrated tensorflow installer for Rasbpian in the SDK. TF examples are provided with pre-compiled graph files to allow them to run on Rasperry Pi, however the compile, profile, and check functions will not be available on Raspberry Pi, and 'make examples' will generate failures for the tensorflow examples on Raspberry Pi. +2. SDK tools for tensorflow on Rasbpian Stretch are not supported for this release, due to lack of an integrated tensorflow installer for Rasbpian in the SDK. TF examples are provided with pre-compiled graph files to allow them to run on Rasperry Pi, however the compile, profile, and check functions will not be available on Raspberry Pi, and 'make examples' will generate failures for the tensorflow examples on Raspberry Pi. 3. Depth-wise convolution may not be supported if channel multiplier > 1. 4. If working behind proxy, proper proxy settings must be applied for the installer to succeed. 5. Although improved, the installer is known to take a long time on Raspberry Pi. Date/time must be correct for SDK installation to succeed on Raspberry Pi. -6. Default system virtual memory swap file size is too small to compile AlexNet on Raspberry Pi. +6. Default system virtual memory swap file size is too small to compile AlexNet on Raspberry Pi. VGG 16 not verified to compile on Pi. 7. Raspberry Pi users will need to upgrade to Raspbian Stretch for releases after 1.09. 8. Convolution may fail to find a solution for very large inputs. 9. Depth convolution is tested for 3x3 kernels. diff --git a/docs/tools/check.md b/docs/tools/check.md index 6335736..9cc6158 100644 --- a/docs/tools/check.md +++ b/docs/tools/check.md @@ -8,7 +8,7 @@ Revision|1.08 See also| [mvNCCompile](compile.md), [mvNCProfile](profile.md), [TensorFlow™ Info](../TensorFlowUsage.md) ## Overview -This commandline tool compiles the provided network, runs the network on the connected Neural Compute Stick (NCS) and creates a text/HTML profiling output. The profiling data contains layer by layer stats about the performance of the input network. This is very helpful in determining how much time is spent on each layer and is helpful in determining changes to the network to improve the total inference time for a network on the Neural Compute Stick. +This command line tool compiles the provided network, runs the network on the connected Intel® Movidius™ Neural Compute Stick (Intel® Movidius™ NCS), and creates a text/HTML profiling output. The profiling data contains layer-by-layer stats about the performance of the input network. This is very helpful in determining how much time is spent on each layer, and is helpful in determining changes to the network to improve the total inference time for a network on the Intel Movidius NCS. The weights file is not required when profiling a network to determine bottlenecks. @@ -27,17 +27,17 @@ mvNCCheck network.meta [-s Max Number of Shaves] [-in Input Node Name] [-on Outp Argument|Description ------------ | ------------- network.prototxt(caffe)
      network.meta(TensorFlow™)|Name of the network file. -[-w weights_file]|Weights filename from training (Only applies to Caffe, not to be used with TensorFlow™.) If omitted zero weights will be used. -[-s Max # of Shaves]|Default: 1

      Selects the maximum number of SHAVEs (1,2,4,8 or 12.) to use for network layers.

      Note: The NCS runtime code may use less than the MAX SHAVE value for some layers where measurements have typically shown no inference performance degradation (and consequently a power benefit) of using fewer SHAVEs. -[-in Input Node Name]|By default the network is processed from the input tensor. This option allows a user to select an alternative start point in the network.

      This enables partial network processing. When used together with the -on option a user can isolate one or more layers in a network for analysis. -[-on Output Node Name]|By default the network is processed through to the output tensor. This option allows a user to select an alternative end point in the network.

      This enables partial network processing. When used together with the -in option a user can isolate one or more layers in a network for analysis. +[-w weights_file]|Weights filename from training. (Only applies to Caffe, not to be used with TensorFlow™.) If omitted, zero weights will be used. +[-s Max # of Shaves]|Default: 1

      Selects the maximum number of SHAVEs (1,2,4,8, or 12) to use for network layers.

      Note: The NCS runtime code may use less than the MAX SHAVE value for some layers where measurements have typically shown no inference performance degradation (and consequently a power benefit) of using fewer SHAVEs. +[-in Input Node Name]|By default the network is processed from the input tensor. This option allows a user to select an alternative start point in the network.

      This enables partial network processing. When used together with the -on option, a user can isolate one or more layers in a network for analysis. +[-on Output Node Name]|By default the network is processed through to the output tensor. This option allows a user to select an alternative end point in the network.

      This enables partial network processing. When used together with the -in option, a user can isolate one or more layers in a network for analysis. [-is Input-Width Input-Height]|Input size is typically described as a part of the network. For networks that do not have dimension constraints on the input tensor, this option can be used to set the desired input dimensions.

      Only two dimensions are defined because the batch size is always 1 and the number of color planes is assumed to be 3. [-o Output Graph Filename]|Default: "graph"

      Output graph container filename. If not provided, “graph” will be used. -[-i image filename]|Image to use as input to validation run.
      If not set, a randomly generated image will be used -[-id Top-1 Validation ID]|Expected id for Top-1 validation -[-S scale factor]|Scale each value of the input by this amount.
      E.g. if the network expects input values in the range 0-255, put 255 here (1 is default, as the range 0-1 is the default). -[-M Mean Subtraction Number or npy filename]|Subtract this from the input (applied after scale). E.g. If the network expects a mean file to be subtracted from the input image, put it here. -[-cs Color Sequence]|Color Sequence of Input channels
      2,1,0: BGR (Default)
      0,1,2 : RGB +[-i image filename]|Image to use as input to validation run.
      If not set, a randomly generated image will be used. +[-id Top-1 Validation ID]|Expected id for Top-1 validation. +[-S scale factor]|Scale each value of the input by this amount.
      E.g., if the network expects input values in the range 0-255, put 255 here (1 is default, as the range 0-1 is the default). +[-M Mean Subtraction Number or npy filename]|Subtract this from the input (applied after scale). E.g., if the network expects a mean file to be subtracted from the input image, put it here. +[-cs Color Sequence]|Color Sequence of Input channels:
      2,1,0: BGR (Default)
      0,1,2 : RGB ## Known Issues diff --git a/docs/tools/compile.md b/docs/tools/compile.md index 4374028..7143d88 100644 --- a/docs/tools/compile.md +++ b/docs/tools/compile.md @@ -8,7 +8,8 @@ Revision|1.08 See also| [mvNCProfile](profile.md), [mvNCCheck](check.md), [TensorFlow™ Info](../TensorFlow.md) ## Overview -This commandline tool compiles and converts the network file and weights file described in Caffe or TensorFlow™ into Movidius™ internal Graphfile format. The graph file is loaded into the Neural Compute Stick during runtime using the NCSDK API. The graph file then can be executed by sending an image to the NCS for inferencing. +This command line tool compiles and converts the network file and weights file described in Caffe or TensorFlow™ into Intel® Movidius™ internal Graphfile format. The graph file is loaded into the Intel® Movidius™ Neural Compute Stick (Intel® Movidius™ NCS) +during runtime using the NCSDK API. The graph file then can be executed by sending an image to the Intel Movidius NCS for inferencing. ## Syntax @@ -24,10 +25,10 @@ mvNCCompile network.meta [-s Max Number of Shaves] [-in Input Node Name] [-on Ou Argument|Description ------------ | ------------- network.prototxt(Caffe)
      network.meta(TensorFlow™)|Name of the network file. -[-w weights_file]|Weights filename from training (only applies to Caffe, not to be used with TensorFlow™.) If omitted zero weights will be used. -[-s Max # of Shaves]|Default: 1

      Selects the maximum number of SHAVEs (1, 2, 4, 8 or 12.) to use for network layers.

      Note: The NCS runtime code may use less than the MAX SHAVE value for some layers where measurements have typically shown no inference performance degradation (and consequently a power benefit) of using fewer SHAVEs. -[-in Input Node Name]|By default the network is processed from the input tensor. This option allows a user to select an alternative start point in the network.

      This enables partial network processing. When used together with the -on option a user can isolate one or more layers in a network for analysis. -[-on Output Node Name]|By default the network is processed through to the output tensor. This option allows a user to select an alternative end point in the network.

      This enables partial network processing. When used together with the -in option a user can isolate one or more layers in a network for analysis. Note: beware that the parser stops at the first instance of the output node name (e.g., a Relu following a Conv will not be processed if it shares the same name). +[-w weights_file]|Weights filename from training (only applies to Caffe, not to be used with TensorFlow™.) If omitted, zero weights will be used. +[-s Max # of Shaves]|Default: 1

      Selects the maximum number of SHAVEs (1, 2, 4, 8, or 12) to use for network layers.

      Note: The NCS runtime code may use less than the MAX SHAVE value for some layers where measurements have typically shown no inference performance degradation (and consequently a power benefit) of using fewer SHAVEs. +[-in Input Node Name]|By default the network is processed from the input tensor. This option allows a user to select an alternative start point in the network.

      This enables partial network processing. When used together with the -on option, a user can isolate one or more layers in a network for analysis. +[-on Output Node Name]|By default the network is processed through to the output tensor. This option allows a user to select an alternative end point in the network.

      This enables partial network processing. When used together with the -in option, a user can isolate one or more layers in a network for analysis. Note: Beware that the parser stops at the first instance of the output node name (e.g., a Relu following a Conv will not be processed if it shares the same name). [-is Input-Width Input-Height]|Input size is typically described as a part of the network. For networks that do not have dimension constraints on the input tensor, this option can be used to set the desired input dimensions.

      Only two dimensions are defined because the batch size is always 1 and the number of color planes is assumed to be 3. [-o Output Graph Filename]|Default: "graph"

      Output graph container filename. If not provided, “graph” will be used. diff --git a/docs/tools/profile.md b/docs/tools/profile.md index a55a256..c0c67cc 100644 --- a/docs/tools/profile.md +++ b/docs/tools/profile.md @@ -8,7 +8,7 @@ Revision|1.08 See also| [mvNCCompile](compile.md), [mvNCCheck](check.md), [TensorFlow™ info](../TensorFlow.md) ## Overview -This commandline tool compiles the provided network, runs the network on the connected Neural Compute Stick (NCS) and creates a text/HTML profiling output. The profiling data contains layer by layer stats about the performance of the input network. This is very helpful in determining how much time is spent on each layer and is helpful in determining changes to the network to improve the total inference time for a network on the Neural Compute Stick. +This command line tool compiles the provided network, runs the network on the connected Intel® Movidius™ Neural Compute Stick (Intel® Movidius™ NCS) and creates a text/HTML profiling output. The profiling data contains layer-by-layer stats about the performance of the input network. This is very helpful in determining how much time is spent on each layer, and is helpful in determining changes to the network to improve the total inference time for a network on the Intel Movidius NCS. The weights file is not required when profiling a network to determine bottlenecks. @@ -26,10 +26,10 @@ mvNCProfile network.meta [-s Max Number of Shaves] [-in Input Node Name] [-on Ou Argument|Description ------------ | ------------- network.prototxt(caffe)
      network.meta(TensorFlow™)|Name of the network file. -[-w weights_file]|Weights filename from training (Only applies to Caffe, not to be used with TensorFlow™.) If omitted zero weights will be used. -[-s Max # of Shaves]|Default: 1

      Selects the maximum number of SHAVEs (1,2,4,8 or 12.) to use for network layers.

      Note: The NCS runtime code may use less than the MAX SHAVE value for some layers where measurements have typically shown no inference performance degradation (and consequently a power benefit) of using fewer SHAVEs. +[-w weights_file]|Weights filename from training. (Only applies to Caffe, not to be used with TensorFlow™.) If omitted, zero weights will be used. +[-s Max # of Shaves]|Default: 1

      Selects the maximum number of SHAVEs (1,2,4,8, or 12.) to use for network layers.

      Note: The NCS runtime code may use less than the MAX SHAVE value for some layers where measurements have typically shown no inference performance degradation (and consequently a power benefit) of using fewer SHAVEs. [-in Input Node Name]|By default the network is processed from the input tensor. This option allows a user to select an alternative start point in the network.

      This enables partial network processing. When used together with the -on option a user can isolate one or more layers in a network for analysis. -[-on Output Node Name]|By default the network is processed through to the output tensor. This option allows a user to select an alternative end point in the network.

      This enables partial network processing. When used together with the -in option a user can isolate one or more layers in a network for analysis. +[-on Output Node Name]|By default the network is processed through to the output tensor. This option allows a user to select an alternative end point in the network.

      This enables partial network processing. When used together with the -in option, a user can isolate one or more layers in a network for analysis. [-is Input-Width Input-Height]|Input size is typically described as a part of the network. For networks that do not have dimension constraints on the input tensor, this option can be used to set the desired input dimensions.

      Only two dimensions are defined because the batch size is always 1 and the number of color planes is assumed to be 3. [-o Output Graph Filename]|Default: "graph"

      Output graph container filename. If not provided, “graph” will be used. @@ -141,7 +141,7 @@ Layer Name MFLOPs Bandwidth MB/s ``` ## Graphical Format -The mvNCProfile also creates the output_report.html and output.gv.svg files which contain a graphcial representation of the profile information as shown below. +The mvNCProfile also creates the output_report.html and output.gv.svg files, which contain a graphcial representation of the profile information as shown below. ![](../images/GoogLeNet_gv.png) diff --git a/examples/Makefile b/examples/Makefile index 691d6f1..c1dc89e 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -1,6 +1,6 @@ ifneq ($(findstring movidius, $(PYTHONPATH)), movidius) - export PYTHONPATH:=/opt/movidius/caffe/python:/opt/movidius/mvnc/python:$(PYTHONPATH) + export PYTHONPATH:=/opt/movidius/caffe/python:$(PYTHONPATH) endif TOPTARGETS := all clean check profile compile run diff --git a/examples/apps/Makefile b/examples/apps/Makefile index a53de79..3eebe57 100644 --- a/examples/apps/Makefile +++ b/examples/apps/Makefile @@ -1,6 +1,6 @@ ifneq ($(findstring movidius, $(PYTHONPATH)), movidius) - export PYTHONPATH:=/opt/movidius/caffe/python:/opt/movidius/mvnc/python:$(PYTHONPATH) + export PYTHONPATH:=/opt/movidius/caffe/python:$(PYTHONPATH) endif TOPTARGETS := all clean diff --git a/examples/caffe/AlexNet/Makefile b/examples/caffe/AlexNet/Makefile index 29ad0e7..f6b0c26 100644 --- a/examples/caffe/AlexNet/Makefile +++ b/examples/caffe/AlexNet/Makefile @@ -1,6 +1,6 @@ ifneq ($(findstring movidius, $(PYTHONPATH)), movidius) - export PYTHONPATH:=/opt/movidius/caffe/python:/opt/movidius/mvnc/python:$(PYTHONPATH) + export PYTHONPATH:=/opt/movidius/caffe/python:$(PYTHONPATH) endif NCCOMPILE = mvNCCompile diff --git a/examples/caffe/GoogLeNet/Makefile b/examples/caffe/GoogLeNet/Makefile index c330c15..5e2c6fd 100644 --- a/examples/caffe/GoogLeNet/Makefile +++ b/examples/caffe/GoogLeNet/Makefile @@ -1,6 +1,6 @@ ifneq ($(findstring movidius, $(PYTHONPATH)), movidius) - export PYTHONPATH:=/opt/movidius/caffe/python:/opt/movidius/mvnc/python:$(PYTHONPATH) + export PYTHONPATH:=/opt/movidius/caffe/python:$(PYTHONPATH) endif NCCOMPILE = mvNCCompile diff --git a/examples/caffe/Makefile b/examples/caffe/Makefile index 719db55..9bb8bf1 100644 --- a/examples/caffe/Makefile +++ b/examples/caffe/Makefile @@ -1,6 +1,6 @@ ifneq ($(findstring movidius, $(PYTHONPATH)), movidius) - export PYTHONPATH:=/opt/movidius/caffe/python:/opt/movidius/mvnc/python:$(PYTHONPATH) + export PYTHONPATH:=/opt/movidius/caffe/python:$(PYTHONPATH) endif TOPTARGETS := all clean check compile profile run diff --git a/examples/caffe/SqueezeNet/Makefile b/examples/caffe/SqueezeNet/Makefile index af22a3c..6aec28b 100644 --- a/examples/caffe/SqueezeNet/Makefile +++ b/examples/caffe/SqueezeNet/Makefile @@ -1,6 +1,6 @@ ifneq ($(findstring movidius, $(PYTHONPATH)), movidius) - export PYTHONPATH:=/opt/movidius/caffe/python:/opt/movidius/mvnc/python:$(PYTHONPATH) + export PYTHONPATH:=/opt/movidius/caffe/python:$(PYTHONPATH) endif NCCOMPILE = mvNCCompile diff --git a/examples/data/Makefile b/examples/data/Makefile index ed0a976..1e6f99d 100644 --- a/examples/data/Makefile +++ b/examples/data/Makefile @@ -1,6 +1,6 @@ ifneq ($(findstring movidius, $(PYTHONPATH)), movidius) - export PYTHONPATH:=/opt/movidius/caffe/python:/opt/movidius/mvnc/python:$(PYTHONPATH) + export PYTHONPATH:=/opt/movidius/caffe/python:$(PYTHONPATH) endif .PHONY: help diff --git a/examples/tensorflow/Makefile b/examples/tensorflow/Makefile index 6f0af84..0262179 100644 --- a/examples/tensorflow/Makefile +++ b/examples/tensorflow/Makefile @@ -1,6 +1,6 @@ ifneq ($(findstring movidius, $(PYTHONPATH)), movidius) - export PYTHONPATH:=/opt/movidius/caffe/python:/opt/movidius/mvnc/python:$(PYTHONPATH) + export PYTHONPATH:=/opt/movidius/caffe/python:$(PYTHONPATH) endif diff --git a/examples/tensorflow/inception_v1/Makefile b/examples/tensorflow/inception_v1/Makefile index bba4dbf..79a4ae6 100644 --- a/examples/tensorflow/inception_v1/Makefile +++ b/examples/tensorflow/inception_v1/Makefile @@ -1,6 +1,6 @@ ifneq ($(findstring movidius, $(PYTHONPATH)), movidius) - export PYTHONPATH:=/opt/movidius/caffe/python:/opt/movidius/mvnc/python:$(PYTHONPATH) + export PYTHONPATH:=/opt/movidius/caffe/python:$(PYTHONPATH) endif NCCOMPILE = mvNCCompile diff --git a/examples/tensorflow/inception_v3/Makefile b/examples/tensorflow/inception_v3/Makefile index da84808..42aeb76 100644 --- a/examples/tensorflow/inception_v3/Makefile +++ b/examples/tensorflow/inception_v3/Makefile @@ -1,6 +1,6 @@ ifneq ($(findstring movidius, $(PYTHONPATH)), movidius) - export PYTHONPATH:=/opt/movidius/caffe/python:/opt/movidius/mvnc/python:$(PYTHONPATH) + export PYTHONPATH:=/opt/movidius/caffe/python:$(PYTHONPATH) endif NCCOMPILE = mvNCCompile diff --git a/install.sh b/install.sh index cbf23ae..bb02bcd 100644 --- a/install.sh +++ b/install.sh @@ -11,10 +11,10 @@ then cd /tmp else cd /tmp - wget --no-cache http://ncs-forum-uploads.s3.amazonaws.com/ncsdk/ncsdk_01_10/ncsdk_redirector.txt + wget --no-cache http://ncs-forum-uploads.s3.amazonaws.com/ncsdk/ncsdk_01_10_01/ncsdk_redirector.txt fi -download_filename=NCSDK-1.10.tar.gz +download_filename=NCSDK-1.10.01.tar.gz # redirector is the url from redirector text file redirector=$( Date: Thu, 16 Nov 2017 16:08:32 -0800 Subject: [PATCH 06/16] delete bad readme.md --- docs/readme.md | 104 ------------------------------------------------- 1 file changed, 104 deletions(-) delete mode 100644 docs/readme.md diff --git a/docs/readme.md b/docs/readme.md deleted file mode 100644 index 0ed35b0..0000000 --- a/docs/readme.md +++ /dev/null @@ -1,104 +0,0 @@ - - -# Introduction -The Intel® Movidius™ Neural Compute SDK (NCSDK) and Intel® Movidius™ Neural Compute Stick (Intel® Movidius™ NCS) enable rapid prototyping, validation, and deployment of deep neural networks (DNNs). - -The NCS is used in two primary scenarios: -- Profiling, tuning, and compiling a DNN on a development computer (host system) with the tools provided in the Intel Movidius Neural Compute SDK. In this scenario, the host system is typically a desktop or laptop machine running Ubuntu 16.04 desktop (x86, 64 bit), but you can use any supported platform for these steps. - -- Prototyping a user application on a development computer (host system), which accesses the hardware of the Intel Movidius NCS to accelerate DNN inferences via the API provided with the Intel Movidius Neural Compute SDK. In this scenario, the host system can be a developer workstation or any developer system that runs an operating system compatible with the API. - -The following diagram shows the typical workflow for development with the Intel Movidius NCS: -![](images/ncs_workflow.jpg) - -The training phase does not utilize the Intel Movidius NCS hardware or NCSDK, while the subsequent phases of “profiling, tuning, and compiling” and “prototyping” do require the Intel Movidius NCS hardware and the accompanying Intel Movidius Neural Compute SDK. - -The NCSDK contains a set of software tools to compile, profile, and check validity of your DNN as well as an API for both the C and Python programming languages. The API is provided to allow users to create software that offloads the neural network computation onto the Intel Movidius Neural Compute Stick. - -The following is more information on the [architecture](ncs1arch.md) of the Intel Movidius Neural Compute Stick: - - -# Frameworks -Neural Compute SDK currently supports two Deep Learning frameworks. -1. [Caffe](Caffe.md): Caffe is a deep learning framework from Berkeley Vision Labs. -2. [TensorFlow™](TensorFlow.md): TensorFlow™ is a deep learning framework from Google. - -[See how to use networks from these supported frameworks with Intel Movidius NCS.](configure_network.md) - - - -# Installation and Examples -The following commands install NCSDK and run examples. Detailed instructions for [installation and configuration](install.md): - -``` -git clone http://github.com/Movidius/ncsdk && cd ncsdk && make install && make examples - -``` - -# Intel® Movidius™ Neural Compute SDK Tools -The SDK comes with a set of tools to assist in development and deployment of applications that utilize hardware accelerated Deep Neural Networks via the Intel Movidius Neural Compute Stick. Each tool and its usage is described below: - -* [mvNCCompile](tools/compile.md): Converts Caffe/TF network and weights to Intel Movidius technology internal compiled format - -* [mvNCProfile](tools/profile.md): Provides layer-by-layer statistics to evaluate the performance of Caffe/TF networks on the NCS - -* [mvNCCheck](tools/check.md): Compares the results from an inference by running the network on the NCS and Caffe/TF - - -# Neural Compute API -Applications for inferencing with Neural Compute SDK can be developed either in C/C++ or Python. The API provides a software interface to Open/Close Neural Compute Sticks, load graphs into the Intel Movidius NCS, and run inferences on the stick. - -* [C API](c_api/readme.md) -* [Python API](py_api/readme.md) - - -# Intel® Movidius™ Neural Compute Stick User Forum - -There is an active user forum in which users of the Intel Movidius Neural Compute Stick discuss ideas and issues they have with regard to the Intel Movidius NCS. Access the Intel Movidius NCS User Forum with the following link: - -[https://ncsforum.movidius.com](https://ncsforum.movidius.com) - -The forum is a good place to go if you need help troubleshooting an issue. You may find other people who have figured out the issue, or get ideas for how to fix it. The forum is also monitored by Intel Movidius product engineers who provide solutions, as well. - - -# Examples - -There are several examples, including the following at GitHub: -* Caffe - * GoogLeNet - * AlexNet - * SqueezeNet -* TensorFlow™ - * Inception V1 - * Inception V3 -* Apps - * hello_ncs_py - * hello_ncs_cpp - * multistick_cpp - -The examples demonstrate compiling, profiling, and running inferences using the network on the Intel Movidius Neural Compute Stick. -Each example contains a Makefile. Running 'make help' in the example's base directory will give possible make targets. - -``` - -git clone http://github.com/Movidius/ncsdk # Already done during installation -(cd ncsdk/examples && make) # run all examples -(cd ncsdk/examples/caffe/GoogLeNet && make) # Run just one example - -``` - - -# Neural Compute App Zoo -The Neural Compute App Zoo is a GitHub repository at [http://github.com/Movidius/ncappzoo](http://github.com/Movidius/ncappzoo), which is designed for developers to contribute networks and applications written for the Intel Movidus Neural Compute Stick to the Intel Movidius NCS community. - -See [The Neural Compute App Zoo README](https://github.com/Movidius/ncappzoo/blob/master/README.md) for more information. - - -# Troubleshooting and Tech Support -Be sure to check the [NCS Troubleshooting Guide](https://ncsforum.movidius.com/discussion/370/intel-ncs-troubleshooting-help-and-guidelines#latest) if you run into any issues with the NCS or NCSDK. - -Also for general tech support issues the [NCS User Forum](https://developer.movidius.com/forums) is recommended and contains community discussions on many issues and resolutions. - - -# Release Notes -See the latests [Release Notes](release_notes.md) for detailed information of the specific release. From d2eb99ee23e12be85737e2a1a1e9f55a086f9541 Mon Sep 17 00:00:00 2001 From: nealvis Date: Thu, 16 Nov 2017 16:14:56 -0800 Subject: [PATCH 07/16] changing content to fix README vs readme files --- docs/README.md | 53 ++++++++++++++++++++++++++++---------------------- 1 file changed, 30 insertions(+), 23 deletions(-) diff --git a/docs/README.md b/docs/README.md index 0ab63ba..0ed35b0 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,69 +1,69 @@ # Introduction -The Movidius™ Neural Compute SDK and Movidius™ Neural Compute Stick (NCS) enables rapid prototyping, validation and deployment of Deep Neural Networks (DNNs.) +The Intel® Movidius™ Neural Compute SDK (NCSDK) and Intel® Movidius™ Neural Compute Stick (Intel® Movidius™ NCS) enable rapid prototyping, validation, and deployment of deep neural networks (DNNs). The NCS is used in two primary scenarios: -- Profiling, tuning, and compiling a DNN on a development computer (host system) with the tools provided in the Movidius™ Neural Compute SDK. In this scenario the host system is typically a desktop or laptop machine running Ubuntu 16.04 Desktop (x86, 64 bit), but you can use any supported platform for these steps. +- Profiling, tuning, and compiling a DNN on a development computer (host system) with the tools provided in the Intel Movidius Neural Compute SDK. In this scenario, the host system is typically a desktop or laptop machine running Ubuntu 16.04 desktop (x86, 64 bit), but you can use any supported platform for these steps. -- Prototyping a user application on a development computer (host system) which accesses the hardware of the NCS to accelerate DNN inferences via the API provided with the Movidius™ Neural Compute SDK. In this scenario the host system can be a developer workstation or any developer system that runs an operating system compatible with the API. +- Prototyping a user application on a development computer (host system), which accesses the hardware of the Intel Movidius NCS to accelerate DNN inferences via the API provided with the Intel Movidius Neural Compute SDK. In this scenario, the host system can be a developer workstation or any developer system that runs an operating system compatible with the API. -The following diagram shows the typical workflow for development with the NCS: +The following diagram shows the typical workflow for development with the Intel Movidius NCS: ![](images/ncs_workflow.jpg) -The training phase does not utilize the NCS hardware or SDK, while the subsequent phases of “profiling, tuning and compiling” and “prototyping” do require the NCS hardware and the accompanying Movidius™ Neural Compute SDK +The training phase does not utilize the Intel Movidius NCS hardware or NCSDK, while the subsequent phases of “profiling, tuning, and compiling” and “prototyping” do require the Intel Movidius NCS hardware and the accompanying Intel Movidius Neural Compute SDK. -The SDK contains a set of software tools to compile, profile, and check validity of your DNN as well as an API for both the C and Python programming languages. The API is provided to allow users to create software which offloads the neural network computation onto the Movidius™ Neural Compute Stick. +The NCSDK contains a set of software tools to compile, profile, and check validity of your DNN as well as an API for both the C and Python programming languages. The API is provided to allow users to create software that offloads the neural network computation onto the Intel Movidius Neural Compute Stick. -Here is more information on the [architecture](ncs1arch.md) of the Neural Compute Stick. +The following is more information on the [architecture](ncs1arch.md) of the Intel Movidius Neural Compute Stick: # Frameworks Neural Compute SDK currently supports two Deep Learning frameworks. -1. [Caffe](Caffe.md) : Caffe is a deep learning framework from Berkeley Vision Labs. +1. [Caffe](Caffe.md): Caffe is a deep learning framework from Berkeley Vision Labs. 2. [TensorFlow™](TensorFlow.md): TensorFlow™ is a deep learning framework from Google. -[See how to use networks from these supported framework with NCS.](configure_network.md) +[See how to use networks from these supported frameworks with Intel Movidius NCS.](configure_network.md) # Installation and Examples -The following commands install NCSDK and run examples. Detailed instructions for [installation and Configuration](install.md) +The following commands install NCSDK and run examples. Detailed instructions for [installation and configuration](install.md): ``` git clone http://github.com/Movidius/ncsdk && cd ncsdk && make install && make examples ``` -# Movidius™ Neural Compute SDK Tools -The SDK comes with a set of tools to assist in development and deployment of applications that utilize hardware accelerated Deep Neural Networks via the Movidius™ Neural Compute Stick (NCS). Each tool and its usage is described on this page below +# Intel® Movidius™ Neural Compute SDK Tools +The SDK comes with a set of tools to assist in development and deployment of applications that utilize hardware accelerated Deep Neural Networks via the Intel Movidius Neural Compute Stick. Each tool and its usage is described below: -* [mvNCCompile](tools/compile.md): Converts Caffe/TF network and weights to Movidius™ Internal compiled format +* [mvNCCompile](tools/compile.md): Converts Caffe/TF network and weights to Intel Movidius technology internal compiled format -* [mvNCProfile](tools/profile.md): Provides layer by layer statistics to evaluate the performance of Caffe/TF networks on the NCS +* [mvNCProfile](tools/profile.md): Provides layer-by-layer statistics to evaluate the performance of Caffe/TF networks on the NCS * [mvNCCheck](tools/check.md): Compares the results from an inference by running the network on the NCS and Caffe/TF # Neural Compute API -Applications for inferencing with Neural Compute SDK can be developed either in C/C++ or Python. The API provides a software interface to Open/Close Neural Compute Sticks, load graphs into the NCS and run inferences on the stick. +Applications for inferencing with Neural Compute SDK can be developed either in C/C++ or Python. The API provides a software interface to Open/Close Neural Compute Sticks, load graphs into the Intel Movidius NCS, and run inferences on the stick. * [C API](c_api/readme.md) * [Python API](py_api/readme.md) -# Movidius™ Neural Compute User Forum +# Intel® Movidius™ Neural Compute Stick User Forum -There is an active user forum in which users of the Neural Compute Stick discuss ideas and issues they have with regard to the NCS. The link to the NCS User Forum is: +There is an active user forum in which users of the Intel Movidius Neural Compute Stick discuss ideas and issues they have with regard to the Intel Movidius NCS. Access the Intel Movidius NCS User Forum with the following link: [https://ncsforum.movidius.com](https://ncsforum.movidius.com) -The forum is a good place to go if you need help troubleshooting an issue. You may find other people that have figured out the issue or get ideas for how to fix it. The forum is also monitored by Movidius™ engineers which provide solutions as well. +The forum is a good place to go if you need help troubleshooting an issue. You may find other people who have figured out the issue, or get ideas for how to fix it. The forum is also monitored by Intel Movidius product engineers who provide solutions, as well. # Examples -There are several examples including the following at the github +There are several examples, including the following at GitHub: * Caffe * GoogLeNet * AlexNet @@ -76,8 +76,8 @@ There are several examples including the following at the github * hello_ncs_cpp * multistick_cpp -The examples demonstrate compiling, profiling and running inferences using the network on the Movidius™ Neural Compute Stick. -Each example contains a Makefile. Running 'make help' in the example's base directory will give possible make targets. +The examples demonstrate compiling, profiling, and running inferences using the network on the Intel Movidius Neural Compute Stick. +Each example contains a Makefile. Running 'make help' in the example's base directory will give possible make targets. ``` @@ -89,9 +89,16 @@ git clone http://github.com/Movidius/ncsdk # Already done during installation # Neural Compute App Zoo -The Neural Compute App Zoo is a github repository at [http://github.com/Movidius/ncappzoo](http://github.com/Movidius/ncappzoo) which is designed for developers to contribute networks and applications written for the Neural Compute Stick to the NCS community. +The Neural Compute App Zoo is a GitHub repository at [http://github.com/Movidius/ncappzoo](http://github.com/Movidius/ncappzoo), which is designed for developers to contribute networks and applications written for the Intel Movidus Neural Compute Stick to the Intel Movidius NCS community. See [The Neural Compute App Zoo README](https://github.com/Movidius/ncappzoo/blob/master/README.md) for more information. + +# Troubleshooting and Tech Support +Be sure to check the [NCS Troubleshooting Guide](https://ncsforum.movidius.com/discussion/370/intel-ncs-troubleshooting-help-and-guidelines#latest) if you run into any issues with the NCS or NCSDK. -[Release Notes](release_notes.md) +Also for general tech support issues the [NCS User Forum](https://developer.movidius.com/forums) is recommended and contains community discussions on many issues and resolutions. + + +# Release Notes +See the latests [Release Notes](release_notes.md) for detailed information of the specific release. From 0f054b924d7f0bf4b600be14d2ec2dbbdff6c31d Mon Sep 17 00:00:00 2001 From: Neal Date: Thu, 16 Nov 2017 16:32:06 -0800 Subject: [PATCH 08/16] fixing README.md vs readme.md --- docs/{README.md => readme.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename docs/{README.md => readme.md} (100%) diff --git a/docs/README.md b/docs/readme.md similarity index 100% rename from docs/README.md rename to docs/readme.md From d8378782992d1f0b856ef4cab66114fa73eaa5dd Mon Sep 17 00:00:00 2001 From: Ramana Rachakonda Date: Mon, 20 Nov 2017 12:33:55 -0600 Subject: [PATCH 09/16] Update VirtualMachineConfig.md --- docs/VirtualMachineConfig.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/VirtualMachineConfig.md b/docs/VirtualMachineConfig.md index c239372..b7e20cd 100644 --- a/docs/VirtualMachineConfig.md +++ b/docs/VirtualMachineConfig.md @@ -6,8 +6,8 @@ The following configuration has been tested with the 1.09 SDK release. - Virtualbox 5.1.28 (later releases should be fine, but have not been tested) - Guest Extensions installed - You will need to select USB 3.0 and create two filters: - - USB2 filter with vendor ID 03e7 and product ID 2150 - - USB3 filter with vendor ID 040e and product ID f63b + - USB2 filter with vendor ID 03e7 + - USB3 filter with vendor ID 040e - Host OS (these have been tested, other may work): - OS X Yosemite 10.10.5 - Windows 10 Enterprise From 5c8b6823a4bf6370cb7c95a7459fb54d94fdf543 Mon Sep 17 00:00:00 2001 From: kfezer Date: Wed, 22 Nov 2017 12:41:36 -0800 Subject: [PATCH 10/16] Update Makefile to include an API make The intent of this pull is to streamline the API only make instructions to include it as an option in the download itself. --- Makefile | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 96f59c5..b395f65 100644 --- a/Makefile +++ b/Makefile @@ -11,6 +11,7 @@ help: @echo " make help - shows this message" @echo " make install - Installs the ncsdk." @echo " make examples - makes the ncsdk examples." + @echo " make api - installs only the api. Ideal for RPi setup." @echo " make uninstall - uninstalls the ncsdk." @echo " make clean - removes targets and intermediate files." @@ -55,7 +56,11 @@ examples: prereqs opencv runexamples: prereqs opencv @echo "\nmake examples starting." (cd examples; make run) - + +.PHONY: api +api: @echo "\nmake api starting." + (cd api/src; make; make install) + .PHONY: clean clean: @echo "\nmake clean starting." From 3ba3c45739e06d980514970d3684bc279b1899ec Mon Sep 17 00:00:00 2001 From: Justin Date: Fri, 24 Nov 2017 18:56:09 +0100 Subject: [PATCH 11/16] Make indent consistent with PEP-8 - Changed 2-spacing to 4-spacing - Make self-consistent indentation --- .../tensorflow/inception_v3/inception-v3.py | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/examples/tensorflow/inception_v3/inception-v3.py b/examples/tensorflow/inception_v3/inception-v3.py index 42c186b..7154f04 100644 --- a/examples/tensorflow/inception_v3/inception-v3.py +++ b/examples/tensorflow/inception_v3/inception-v3.py @@ -8,16 +8,16 @@ slim = tf.contrib.slim def run(name, image_size, num_classes): - with tf.Graph().as_default(): - image = tf.placeholder("float", [1, image_size, image_size, 3], name="input") - with slim.arg_scope(inception.inception_v3_arg_scope()): - logits, _ = inception.inception_v3(image, num_classes, is_training=False, spatial_squeeze=False) - probabilities = tf.nn.softmax(logits) - init_fn = slim.assign_from_checkpoint_fn('inception_v3.ckpt', slim.get_model_variables('InceptionV3')) + with tf.Graph().as_default(): + image = tf.placeholder("float", [1, image_size, image_size, 3], name="input") + with slim.arg_scope(inception.inception_v3_arg_scope()): + logits, _ = inception.inception_v3(image, num_classes, is_training=False, spatial_squeeze=False) + probabilities = tf.nn.softmax(logits) + init_fn = slim.assign_from_checkpoint_fn('inception_v3.ckpt', slim.get_model_variables('InceptionV3')) - with tf.Session() as sess: - init_fn(sess) - saver = tf.train.Saver(tf.global_variables()) - saver.save(sess, "output/"+name) + with tf.Session() as sess: + init_fn(sess) + saver = tf.train.Saver(tf.global_variables()) + saver.save(sess, "output/"+name) run('inception-v3', 299, 1001) From 4810cedbfe59cad0b43c988d2d155b0edc77f306 Mon Sep 17 00:00:00 2001 From: Eman Copty Date: Wed, 6 Dec 2017 17:45:10 -0800 Subject: [PATCH 12/16] Changes for 1.11 release --- Makefile | 7 ++++++- api/src/mvnc/MvNCAPI.mvcmd | Bin 830212 -> 865212 bytes docs/release_notes.md | 35 ++++++++++++++++++++++++----------- install.sh | 5 ++--- ncsdk.conf | 2 +- uninstall-opencv.sh | 36 ++++++++++++++++++++++++++++++++++++ 6 files changed, 69 insertions(+), 16 deletions(-) create mode 100755 uninstall-opencv.sh diff --git a/Makefile b/Makefile index 96f59c5..621189f 100644 --- a/Makefile +++ b/Makefile @@ -21,6 +21,10 @@ all: install examples opencv: ./install-opencv.sh +.PHONY: uninstallopencv +uninstallopencv: + ./uninstall-opencv.sh + .PHONY: prereqs prereqs: @sed -i 's/\r//' ncsdk.conf @@ -35,9 +39,10 @@ prereqs: @chmod +x install.sh @chmod +x uninstall.sh @chmod +x install-opencv.sh + @chmod +x uninstall-opencv.sh .PHONY: install -install: prereqs +install: prereqs uninstallopencv @echo "\nmake install starting." ./install.sh diff --git a/api/src/mvnc/MvNCAPI.mvcmd b/api/src/mvnc/MvNCAPI.mvcmd index b2df031feaac198e21fd7bd6049bedc17adc18cc..bd8889b5cba9081548819694a44948399d68ac16 100644 GIT binary patch delta 241791 zcmc${3wTu3)jzz?WiGkROs*slU~(rUgb4)XGU6npK?21g1`5*R03qR43^6L8b zM2ry9m_bD|;1Cl)49F0$Si^`1R7#Oj3)K2X%o`I*HAKrxD0Tk7eddyYwr~I6^F80^ z^Bm@6pM6<-t+m%}uf47MblmZ;a$1X?RthaWjlm^tYYLdC)AZkh(^m3EPvfiP?O8pI z^JjaXX9vCe%Lf0p`@a8fP`%4|KQX7Laqa{Emyh-Tw!xtK=X?Vm^8M-tefu#${PhNZ zv(i842RnY(Jvi{tzx~hP^8Y9A7Y6lvS9@z<(A_=&>gV+|eqiotq<{M#+K86j)wuCg zVNauJeox~kKO6Ygv%vc`|uccwxXx8&pgh)Him6r<9WMs z2zyQAZdf{#xSN*FCAXTEF0|hm!ak(HP=vHS5X+`{|L-KGpuVo;7%1+q(7a z5OxHL4LLLVM(RGiQ5sJAQ_B)aOj$N*0m_R=i+y+!8yDxRGgRMC>(DCl=Ls!s4K*p(d)X%pJ&o**M_y!@VP^O4(oY!kOveSK-W`$p1#2s0NDuqby1LRh zR&&%5ky6o+XsESso5t#CcL%4j%jp>Gx(fR+6Z^-6+V9iPy{NnP)9p`BXHO|nxAlh7J}aLc zO1mn{XKU$ie?HqzyWIY${kK11e?q6JC}6YbG$$0WD`+#}h|2zY0h>mvpDAD^T0O1O zZlB?W-O>JUApq>l?S1#Nr}XH`@Db`N7nwe+F1y6!Ilfk!HO-FX3HYMFq_SU{$&RFh z+?vUrroSf(*;))nS$p9uHr@C7>@4;%3c?Vpote!(EJGNjwilYc6Du{dMfUPsR%yRH zo6V*b_gU?_pR#$hqHeg_zTl^9JnbE*5$SLLPuXA7Y7+(f_Bm`F1+zUx{UW1S4K|-Z zWRkegmu+YL)R_JNTS6P0Dzxu^fX$(=hXo2twEfltY#|-TGWHIDihb4JGqc%4^{;sO zKZWG#8CN|A4w8G;zhV!b3-$&`aYgI`UlVO9n`OT;m!0q<#^j2-#X<_H`^usqLkicHd%XoQeIh#$( z-&)Qt8Ynl?qMw!q2Dh$YQ?+HE`000cIu@DzFTZ5d?3yw!hhS_}O0lmjVB z`}+H$jJ@ZF{Z-JSZ&$Ft^wkPq#f}M};-!@VRG|D}TD4*oyWUq7*p#u8wwg8jik@1{ zPNucmRhD<5O~e5I=&XUBS9 z+ZrEd6BJfk9w9BW1ZyE7njQMc%_^pdAx~e{hmVRP!VKn*!EZ(+99C9`@8YU;35r~S zxYRskt*DPAu3nDGFiZ1ZdtUld{e5-sD1~HtL0H?BQ~T^pHt%Wj1qveeJbybmC3()K zZIY>lEbbmAc!m-(JN@~r=KAWfQN&7K9J;kR(t2Nn$Foca6;#V-ANn?F_Z78v)ahDv zLIlx==Y0_TW}WVka&hxi;l3$^geS0F`5JBg6k_bGP1YGZ;}ca|yT_YM;|S>tH5lDH zlXS)s`cLw!Nvf6%k7qRLJ>Iz^skfdrI%^Y+S85WCi781&cWh#j(OI9MGrD&qs*EMI z3G@Yj#o`}*3hf}ppfjfKNpcuFoXI*VA%!>Qf0(SBah);GxUM#}{JPy*CmS_`{%LD} zk{zLC&5pK?E$nMbyx4{9Pzv#ay>&Zi(muSW@h|qTwzH2}zchC@(&y?=yBnXF)7^L- zPtF6~jcXQppQq+^H+JCpcz$=I{%75d+)D3bDd}z;zP!8fBpy|1cOzNveU3iT-B?hL zzSea&p25Qk-HqvZE{olbX8f+eBj9-h&wE0*wec&wc<>BCg|T>M;CUF&6L_}ac>~XT zc}^)%MvX~%O8PY0e}JpS)Q)6=NKW5Q#`W5H97hmc5b z6;mue;3-|Q=F#Q$xpp?PP4{bdha&$KeNST}p4aibfoC6{xA44;rwz|<@VtlTeLSb| ze2nM!c>aK=_$Ln*)9xwGQ#F;#*H_|?EyCCT-FWWfHvLQNoX^?TOZM_7xSH7BOVna0((JP{K~O#SNK8Kj?H~)_A4Z(5O|F zG^PkQ0l`2YjVZQ=?&za2rRt$TA30BR3t8Rvwrx*yKj;4cgkrY+JsTHBK{;#VUS$JV zT`P1Qz5}bzY#PAoVT#qD09N1M#64`?%t}k<5O-l0M%glU#QySr` z%g%BAN7D3sQ&}(9FQu9IBV{_i|I;)JFO?bi{;slezAH`O`wP+z@;A~PwD~9ejj~!^ zb2@pdWn;t~f;vHp-5V!+hiwJ*N9b&a7-C~Pn8i1(>_w)u>;z{iAd7pONb%_8OyUzqZv-nK>pB?zT7qVFQBA3-|R_=-*9kp@lHxF6s4>6J>mXqA|qAih$ z7R_qnI!qL^OkxR7oF%-2H8awjS_pI$g4C&L~zTF)y;x0mttp&91GIL(lJp&~M#|DU^rqiXnnrx?+#&wB_yj`2nIn7ZjYAIl&P+YS2S%4Gu0=EYp0N|rzf@7 z2dlGgZqqJZ6{Bvi309-XeKK7==jH(;`_7d1lc{RS@u#q?n+K*@mNb9@m*MP|J_jAl z<97p@{!gpN-Bh}gxKm5xNY8HR-idH5Rq&F6h`xU}&{2np(Z4qk(HzByZ$-1BGlw)M z=d|+8^---HT4#ez!DgF>C})}6^GhcaU&F~nhlbfimFr+!Im!`>WR^vPg+!X&A}qdn zh>#|0=@K%#%qEuj)(4f2Q92t|#Z`7QgH<6}mJ+clg`lgIMDMNxruys9#T7Jkvt`eD zmzC+Vc9O0=I$=$WTCe3wejhEY7}ivkWvai@T%Xm--#+_wb@KoRnP9 z3KF~cvp$WE^v)qg*<{0&U>)fwBr1vfr-vFswVolXbtk@i?GHq?__G_R_uU*)BdVp2 z_{}hO1d;aN{eAFigQVXR+UyK(Rmx;DNy4{+*dEQeYHm?Ea_Sm~P=*aqmy}Evj#@+H zx&H{-7Zb74hjw(dj<_kteY)!G1MX6hQ0(_5s>JsqSvr8s4{IChhX~=^sIjKc9_;ku z*xTqX>{j})Yo*HX95C-gFUo!B)f!qU+o>7dYJKxJ(T9}pl4Xk3Zi?%Fg=g`bXjY!I zK|)=XJafk+#`V-~IEZx0UW_~k>D%eZOxO^kBvw~@sA`tM-B1R}YP*7!K>-?!j!9lF z9E=XigkTgb)tm2yW9b?6bWg^wK+W`*Fm)Hy>*!5VP)_KDg&^{a56%yyCDuBYa>Z@ zc7lfTSu&>_W|H|wEYT9l@d~&2vn!$C#o45IGTCq*Y^tDA9{^;u&#TJSTd119Y?w}eVxRmIiy!r`;<#y6G_nSv zZC3nar-(QrUM2oEK1e(pAA&Bz(1mtG7e?$XgdiBkZRi6ay|V`vMa@4WR_n%h+*_u@ zn!va3W|Om``qW7lJYM1q7f!MN%LJ_d;S7}4O+@stsvn)joNhoL#9*OLs}cz2f1nQ& z`Epy)wYw*?_%q*Zj${+Ohw7}PQwAA}RuF3qjO)98@G5vCG{A^j!&Qhw%i{04upUc! z(%)A)QScQYS=B64NpZ9=6NHHZVTy^_t~$q0 zwYAw}PxsQ?jB(XEBjX>6_(Y%(50)6Gn{{6l4>s zHjL`9MFwg1F5y-+CJjXq&@Fm*MVSc6N+7Kb#IIU%p(`d4>)p6}=uB6Mj5~Df*CNL# z_Rt&(=>*d$L?=8!*KqUiqYc}>PuDub4h(%SJg?r}XY8yp02xXmFX}lrE8|Qz-zW8j zuy!KdRQ+Cr#5>PIi)e2KS0-52H7Kl>M`9GU8@}8=RU<<(SoTdKoh2!jr()voz&X_{ zC|-qPQJ4&qiwT-#>PaL-Dm%ew7UV|>J?!QjBIav|q<@jFNUwI-ixqkInh-ozx+v(f z#G*jG?+WRn@G1$)VRtBr0IDLqZ1#{d>tenE6N2sqr_F_wUr73Gz_q(JEtk+Ijs+_90n>X zg|FGT8S&qK6rdy3Q{FkzhH~*BdF-X3)mtuW5kpqDGf6)TrcOa{r<1O>c;cqEfgh3w z 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

      ^3K)JniJq9nOw@ej+e1YJCwn$lbiyF7@cwC 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 z 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 delta 209122 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

      Rru;ilRx6|UZ-c?2Lr?l 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 z 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 l%%e+xrU=0N=6>tUqj!I2)qM}&y1k

      n`Un|s&X?iat`&t~+-yQ4KLp>m#As_kJ&Mbp<$U#& zC818Dm#_!BP&w6OFsqlaW4)m*5|HAMq8h+$q{*_d`37E)^!?b52p)sl{0JK~G8|Sr zV8NaMuJtx-$WqC{wiW89xtdp@ujpcSvisR(f#^rsEIBl|dzP{*Op4J~6Gq9#rR?;d zQS#tp>~yGY)8nirl;8LS+t<$;wA29V7lQINJGz5J*iYT~_aX34K{>(9%@1sRlCcg7 zZ!P(MPhqyKlftFT&Zcm3>3^Z{=j+d+aKGhjP}*NnxWiT5X3CM1rY>9 zF(B^gfIugzsQ0r0$%|HCcBmr_O8R!8S2I=8qI}VP9rHw?gK{)~1|Uj9l+Ld%=jsDQqn zIUT8QfpAE1NKq09(+7m1PA9CD^gd$UtJt-T7uc}W9bs@P2)qz*UcmJ?;jq^Y70!(; zmNqAc-z(BKva~VbxEBKVbhNn*Z6c@*G*)SeQD+y@*Xd}}wd-sgwI6TV#F z`yar6``n-7qx$<$|4*tHQ>)lHqDO-(f_w{?2$nN|>1)<%oPMo76w z$i6?WY%}&12Sj7YpY*U0Jy88W(LujIsSn!q322{b*ONM@Lt7!ZX)0om~ar|7_tf=gB5HNoBt~`OFJnqWXDEtm`w>CuHcHKw%YA6zbIB_9nhF$)D9g`AL4q-hN5`Wr^Oz zy*tFZw^+}-g}!}$f)T&Z=icMyI4ipRqr!_$M^5E!O5tKLy97Wu^((h3bpiU z32^~&UOh~T9pdSFHZ&;&76gA+0&Ee8d^3TO4V}L7Q|1z`57?LTQ{un}Y`DBwBz?%T zBkvs`>!}j7iR9iYnu~3JCSZKXA{4nGu=HcLL_rTxpR#{m8|r~1%#R+HA`tQ1avDf< z3F;C;^;0lVs(%9YPyb0hu>sXThWaO{K1{%ZCz%>3Zon=A=V;ew?8|OhF{?}!9~&2? zza*-5vHk-KcpXH+r5%v!6{&BLc0jA`qBSfd`PfEoza*dQ&eu*wpln-#h~CZmbwBn9 zb_%e(T{dwyds4ZgRW$Bq$?{V1({6~$5s|cq-4)%dRni*}UQrERNY9K`v33tjR<11- zReRv91;p0?i#ql5* zd|A>B#HrwjS2*Eg)AW;37Fi(9`<(TU%1j_re1+m2Yz8`dyd>s-&L+y6#g5O}o;a(v z3J?`Y+h1NEzYPsH?q@H#3Z$0tFNv$aU~fhg#IA=?S+QunNN!~Plo^`?7dNu`viy>G z<4ZO)t_40?ia{}j^~Pt29UxzMSjb;7Z|om>_ei{9r?~qocC#{jbD-%f&^zK_{B~N| zTV51hnpmMN0;05uorlXOA2hKkPPj42hgde8_;H8W61h!$aERsLt?dvD!<#pX+263< z&g(Zyx+vMm&k;MmVP0(RY5#)RR3Ik)i;bM~1S&6p=|Usy1z!O^k_+T4bb7OEzS^MG zNc#APQoK12QMf4`^|T<+pO8gq4?P!nrCsz){ifY_J3>C+qy08`h%l{rY`#`!^3w)! z>|dbHu!ltaVK$OovxzjKxcV^bpIDH9t}HJYaYE&2mb+5J`u!-LIm~`$yc6>Lzku8T z5JXDMh$2M~vq5rDt&&W>MB7zO+#r7cmR%vH9A>UmVAuWv*8`ix{3C2sw}P0}gn|Zg z+a^(Ugk7f;NaD-m5vgL>QRYq?uo!);*IEFyqOyRu(kc~GndUC3ED*Dgvg~elc&!U2 z)u%wLJj%|CzaM^4PNqd`7idXzM%}@qtbas-$&96QHj4OTSo;Do@)%3L*ony@^3o96 z=ZVs-`R*cgw30ei{nCD?U)pm3)NdsZ5UlMy+U2x1A?4A79|!0IKhU8Ag=xo2>FzF z`UD$%#g_;n9LsW-xEx!#0IB9$r~Sw_>3)cC4gFfx(LjkN;7OCxv3Mhz;H z^b0!|!qg18UJ?IqHmD!)I>3d%E7dCg5MG4WY`nl_2728uh`#|oVk<^Sd{-e}_&2+u z@Bg-Wvl!R{!7UP3wXnhe>sCSWatlj$&Ox7|VJ90FYFPPaqfG%7LZkJIfj_XZ$`}m# z2X=L)J<5tuGdH*~*Xt$*v7*>z;_wfww-Wz?=zfx&cP;UqqV;>k?}bW+zXYZ0h(umC zq#EFI>FeA@4nwL%o_B+`z%wr0s}>T$^I)s0dcWn!uhJwbVKjC&@N9z=j48ZDL~Z6- z0-IXoAR1GOWOM=FnDJTiSEx*fn~|tXw20=|D6l-ROthV3narvenLo13?#PeQ^AoBP z5n#S-qqyQnHrxe~P|L)VKe93Mm*SHjnWtMg#x>%nAK7450&Z9U5APJ4Mb)FwQRzG& zsuNG2VwXpFQB4bcSbTqqB}5a%ynKu2BEWO=@M0VzF5GQ_Ov*jnm)YB|I>bDILk7m}e z3n2RWHA#yr$KLlQFjuBZt||=JPXolDfB%_Xtwg>cu5M+6Xu_T|)qIuY-$*AQ z%IJKtvK0oBSL|$MGrFMK1r)F7>%@>>SOJPx{(|Ug>IQN07uGL6ng;20HSEJ6qoo0l z0Neo#L)zHjZeAxb&tSAJ(+`NhwXr#o-++oxY7GE=ILt|EZ-bhG()yL9C4U4E!q{SA zd^i!$6PRP3S6uNc8$-m-LL!2n3)CQVtbdX>cD)W_6atS&3gS zy8n&^=i1qTSS`Ee@pW2FNM}Xwjg9(QeBI9U42{=dn6(l#6DBjHL4(G_yXEIJCID|<+s@?0fRtvRM2Ya>l_iFVldv#HM zb`Y`Pj`K5uwQLNr*}<qwem2tr^asdwx9B8u?@`5n=h@k`}b0(Ue19hd(h^1E}7>F0%v_7)iBCGdKW zf~vnfB9~*Zylp!;I^f*Uo<9Ok0M3hJ0)q4X8DJ}p3C6+2c_Iw(&*1h0?i#>7^k3lo=(qxK zH)P=yHVh7()8De`Nh0Xxxn@}ZCw*iLpCi95 z*2VDquMQz<1)_Q&!clN(X`w|S)OApBE<7`;zXA12JL^sNF~_dE9(50yb%FV@JX$tm z1IB^C(m0-}bPSmerv1S55=ipOVtdG=g`CJe(U@Wqxh1t;sSsjPsE}SzGG$j(W0huS3(evYs6U)r=jexH4DKeYUjMJ=4u`+{CW*1rc zV;MaC958SNczY}uE6GP;iRcm{TQwLD&nOl3Q^0t+sE{+ zOy{{B{es9-KxB%otbc&|jV=k*wbGbScM0mAr8<(w!2!Jw|4LT+#*4Ime29_~AGo3) zpD4>8i0AtAq4HaS&-z2dvBh7TbZ8sEGcUf^%+rCJb59p(lQFHmx}T~!Yr+Xo97do^ zq5OzIbUaJMx!J-sdm!)4W?K0t2l6aZ3N4^1(QGi9(AdLK5=|+{m4o{1zo^f#+o%6Y zy$0G)`*YAf!LEla%Aq8@I1~)%gLttbSBnpFFjBNg^s*XRDl;Zv@5qIpn8SOcHsc%~ zgU7k&@K1dq`sM2O zG+uf_KlOSJog@Uocz8w`=!mX=496sYz7KS_HQutRiNeU`s1J{-dDV`$*8^1UN& zkHR@S47M6^U=t#CQ*^bDFs`$Khw{RtaO?|#Jsa4U5Oz{K9$^gQdIt){t41!=Al2yaZBAy|&C2ONaAu%2jT$b2uM+G; zjo=sd%S79>P z9y0ZgAV1{uz}4eb+Urp=8De03M+7}m0x`oPmcoOHP}nE9SxjM z3m5qCD!yK3hjv-;*YJMqb1T388a{}9Xyya^uHo?tyU?mQc`YBwhFbX{GXT`v%Fmg> zo1C~`*D1N&ycE^_9dPLF8mr3FdIuNf2THHwe~TE2LTd+v8b|~$&`xyi-#WEIMkPrvQKSR$Ob#3d~r5{mK`P zk0gokoxbHi`%^I zg_Ga6)Jtf@UUaw$9Zo}syU?ML6*%u+-ouF~^u_n{p)s>Hgq$TA`oghhHcWddbC;NO zKOflbtO`*FSO<#4l($%pc{M1YFXG+gxP#P&HOPLc2-mjjWtdKD4hCjFz~?wqF@^*h z2U1iqC`a4k=NL!tn($Eu!{h1`1GO$LTgH-w z{t$lxbJ+P1A8U@Q^AbzPHIKm9B7V1vO|3JTuj)~F9V4xL{8Hqzto(e+M_T!vOZgS- z^m`_J@5hjDw(<{B{zEIjkMi5B{Gi8?Uu)%;P`=p8H$4uVf4A}@pFn>IPi>{4FU?ZpXbk7cJFtxoh^&OP!!#YM~cDA^E;m-E5hifjN7=oLGjKC?on=;AevV2k;<(TMDo-8j7<#V7`>Fylc_lxXb|dmRghz5O5eQs(BzGmj z%|iJUzzFWSJ}Y*`g+Pa@67o{#qYC*_$`j~hyw3v)%^J!!r&roH7j0-b=i2QEp1Pto zp>{gnjRH|8cp4jyyi_2L36AgOkWVZST~_fiIP|(?6(6qLl`jfc@!q~C-jVcjbQJ}r zpj(&JeKE@FQ5K6b)h>GoWz8t_pe)iZdk|%Kgu!zH^45t z8fC3^S&m&c6=hm}bZG|QhG}`$s3)N?&o0ch0Vkkr9?FOcx?MI7WvlG6(RSJSD67a9 zC!XO~bRkA}YMH_2{J_N3e6>8TO;Jlxq4`GJGa^L{c#@kS`#L4iq{h+oIkD42S#N9xglpzlM7 z?2TK;3(31j5V-HdenkG(@r|h%Y64OmQWV{W@k0as1Sb4-7FN&n#`;l{AM(`>lM>@` zAbR82QXtj1;2BfMipp>zeQZ5n?Y#LXDQsV+_(4bWo`{e|!2Y$t8#nMrU{%d7~3;ZFRvNgWIk2%Gu@F5GmkgG!7#1}&)E#1T~yb>ZnJN^f6OC1{X zugv|4?{;d=khy=iUDo~0v(0_I9L8Fvm|xCcQsESpx3~M;miwZ=$S^v4{T4j{oPO-v^?R zt_$~6Ua-r?REf2hshPCftEQ=?OqnH?yo6}v#j^shyu`Qi_;*2}Z(-lM;Sdo!eS`e| ztiV10fbSkVY+;g-a(j~DMv{=H=h-&4d6A!~6^EYtwSBB(w1{|}5AO93*-)UMPEGRj zlhBpsVNRiHC=S2ha69qE1DpZ>N5r@GdAa{hMO#JXVkD=?3S>sy3 z5W3Vr#pUp@(!gF&6F3H!c0Y) zwB0fS?HPm%A)r6t0uOcIdSyGG-0e#+8}=E0JO;U6Lhj)+KEbW>^XQAjOO?RxOK@;3C@Juejf)E7n zY<3-?n|_haQj@B=b~!Z{?4YbB5D7+M#x5!7Iwt$swn(q*Fa@sTWaEzL7|C5molHXq zgdCUs8XevZuvrX+I+}(~EJ{OFc>TsB4zs*tkT5puxdtKUMke562p0`DgewBLG}(x5 z_dj6>ex>36EF{54ddV{C?ra@A$sd;M8WxBIi&Q16)3NuS9zbgdo)T^Xsl_Ty}1kLq>pdM_PJrMnuY`FX9|kMlN3 zp=YgR1fM5U9p!cIW~&_B(NR7~$W?ssR1MY%7PcW)lUq{lymrXFBrPZ{0k0KHK@C?i zt#}i0>47+KES@Qfk*PJi>fFeWMILhxI+1@syif%$J}y3~;t6qS)(P1bV$VoTt|g&N z7Qa;StkkIX>RjSjS|-hF9l~~{?=HaLUBrkt`Gwb?{=GVyS`bL2SE`en{l=-^tB2Ul zXj-PY|JyE$wcn5ZZlO8)d$rq!t=BZUQSojtwkY5LJbx2kyvc8i`<5XDqi5Do(PgNT z@%%+x`xYM?I})u?6{K0yu4Hmp^Vd9f>Vr@(SevtW+J%OTt@5*YntT1m32sCKo=>vr z3L&cFn9FJKG|jD5eEk+r@U{J3tvH*@4C?3@IFOnk#ZE3Dr8J86{4n7$i+oO5V7Zq7ePqG5~u9h+B5RoURoQ??7;K zz@eD6X+g(YDd=b#+w3S0j(wt13ifV|aueBH4aD(il^z=g2MK6G+5aaA2ywk;aeXor zuv7!Fr~yLPB*Yd-*^&s(6n}r0C*-0y#tpuL#MF{>(pZR8Q$pi`ghF6eK~VN#4!b@{ zH4hc{h@!XoGF&aHijih6@o&#=E8m`N(lbZ&t;Y0+iHoXvf2HMwm|x8^x5zwx2`Fk4aR=oiX@wvkaewxSqCWjb$2`r6XyV4ylM6g0ozIQCn0 zGzlaLCd%tmK$;>b6$9jP;$~Z-CJ(KHB-CQv>ab3=ko?+6zf=beRp-PLv}}WBs)M4a zgGQ*wdeo_2QB%VQBc#?i+k^E8O8cSgpkw^T`@;1ue^s6@UVoQQbi&Q#!cogF@HJU* z9jB}qKc5!Hg(S%LK%`I}G0EPINYTqs#q&^(vF~zwl}6OZE<3SiT zXhU1{Swy8y3teVi*zW1Gw$IoZE!l6v zqs%p>Q%}&`TzO*g`#dHo(k@0(OgU64Y&ELpx_ICSPvzGZ(@T!{?0sxbK;JRV$j%v9 z3@4)MdCVQ<2dz!goIR+Cjj|T9@p*qV?P^mfG@}mlP}g?fX3vI3R$-fu$UAa6yQ#s@ z-r0FI%nNTHqBI{ZmZ8h@E9{M+pet!#<(+VXOzvtC1mNkpw)QiL63qIHP~?dN^*lXd zYFA6@bP@3ZBCr#zSJSFG4(y}F2oy&ghnYl(bdmo7&c`8ABvE@OA~cL*m$Q?Sj&kwL z2R!SRKY%!#_H1b8Si9Y5<_J;aMSOgMwcXABWL-~1TGI&eU}#-|gUlsYx#;Fp6Q_A| zUIdMf5LU8M&0P->XEM|Os<*?(Py;TaHep6pjqJ^Nn92r-#UJvR%R&QRnuxDs!0=QR z8u;c*)|-qTLbJtY*pE%r+B<;dA+|u?wM88GkS9!a+atts?S7H?7uuS5cmw7NI@Ds0 z%fUUnQBDjNF(6DMQuox3v>fu-+@!)hamh#gV&Cv`TpT46^F=I69}`FK-IAn5K&ES* zMq&}*JG3X^0n0Ro$!CphOfQNxv?56}5OYvY)0ilEjCtFsZKSPvQMapGaMpI&JM{S; zdM5b?F=uA`I*gL^Zw^{kf(OW;W?_6}Haa!AMhQw)0QL+Bv)5&B|9~8vRRp!U2Wq*E zB6MAh=_`(H163v2T%K@^N2gR{V3+|fG>?8;MV~<>SX2yDt> zNMin*v|Jn}EoaH1_5$_+?X%k@4?auRr8acpa);K$Fd5jDA|iJ3{w_BrA1Oxcgk$w? zSECOgxrCcSqb-AnbWZv-QZO;TyPX~CHli%k@=i%}K>PE@51F5Pt<9gA)le5TXR}D=DJ=BlKMSq@?h+6_@ z;J_%-IYHFWfIU;d0dN+3s`uOq=$5^r4MX)YS%-bPmCF(+5=F6+G^MZ zB<4PvZF)Mcf=&xr+(E})SlXtUbw$^XWsNDb2Wc;B#N$~qeT4{pnn^m=RcnhdCebjS zmKk@5sQjzWEs~G7mk;F;rqT-fq)x4+-?RM;ct>s?^azPgh7 zo~#(uo6(Y<7$`b6J8TIJ1p1}j$E(mbUD0n?vLCtydFTko+6KT7&NL{YqCG&07Y`x* zI3%YC#L`S@5MaFJsORlowX_vR1H|?S=>r7s%b^=~LIzPvr$NnJy2Md!ONkzq(brpph6AkZ&>B_nnfD(R^gqrV1z@uZWS4qk%qR428gm4 znl-JZ6Lmxlx{6@(j^tR?234zQ{U4U#hyG+4nxiD|3&!ZMFhwQ=Skd_j;EKbY2KVZQ zPEmx@=~^om?c#a9XpApT_Zz>pS9ei@LxZx{vASEZ%s5IS)$AZ*p0!&J=+q*$=C%Zb z3NVgsA?!iPv}BxNLQFWyY(uQr(u<+3w0pw_(s;VI-|R?C-HppH+r&+~ap189MG+}s z+pN=YZIS#h7(#)6rz_NCl+-z8>UY$Bd$Rz^v5i~G<9fw3SIA9wAk0?vRcNf_ejC@X zqJFp}rAMN##Uvrbm=bJqMan3R*E36d=9?wv$}jggtmKq3J}5{rRdh?R2c&h>!vfJ__V_D^16V`Suhlu^bB;ow3M#mFJr2`M!5{cbb#H_% z>(2kB+D(BciVc?iQfi-xRDg(^!tr%t)@3etM1Zlu0`u5 zB<%+X4w!6%_={)pPFE`6_0^E8*xv4_QpFeh_;vD?;@r>qgp3QQh2Fc-Tm=$GP@f~( zyYyFU9BzRhgBdKpEI#?1dwl18Wx4&^jy~#^%ZmV|Fl*3J0@)Do?wR#9Sd#K}i zVT?s&SZc*sJB&l>Q9+N3JKK0nZ&bJ9wG=nI&#LnsBm&%P1CphwA`tDCjZE9KJc#Ev zUvPO#G72CgVA`p>k-NRd`}h={fd>vE>cEy(f;>$V>urm0-`08TJ~^ z_He{T1SSWOOs$G4zNDw-10bmEumSr4@GAgDgS{y*3K=Y&e2M}jF5EE~_5u*Z$bM%L zZQJ;9GShIQ&O^IZs-Z2}_GWf%5FU<%judUUAREptxmR}$&MIErrZbXh~7#NPFM{YTe;?SURqws%W=wLBG6DDi+YUOj1*9~ z#N6CXd3CIg4$i7*Z%?OaKzch2z+oV(Y&gqko5F7uB5X434e;YuJDPB~KZQwxj^hq2 zMUG@#te~Nbe&Zv|Yp#_I=^&9ZADzdca}{BtaI(?1lp4IQ5OTST27irsu@UzzCyP%S z!J_wmX|X7N&Sz^+M7Y-A)+$;LMLNsNO@jHzFbsS#7oB9dYREXOvy8(C8WHVVXcI%K zi58IdEmK7yN<=LC5$-a`x$E+-P2j6~>ob^~Hfv$khNdl%*JD zMq7KenizC$3?Sr9GX;*bB2f|OBhC`@7z!+!{i4qZhzVSXA?;d^B_z_&CguUd8H}6C zB#77LbYv4`_3&r7LweNc(OT^zGRJgjt#(s1h)x|8bii7xhtT`4rzyl#MwaAR)}IS< zT-f&4a{QJRZ$3-D6%63+&NdOcxy$)z+rh4bPVZ=gTG5^|Zfirl3$lEx4NS7EL6(nM zak&_hXHqT{Ey7Ie5ii?CRI(7t#dIKb8E_F}(d1}_EGoGgDY_Jk!9gk-X@XIzYK9%) zWdHURIOGx#0y}ds-lkCX&z7pIz-kcHNP(WcM_gC65wSLuuR^Mt(iuZ-y>JR0N%97K zyinx^H<87T@eH40N3=$v9&>BBjFbs)ZC^CA_&lbDfX0r>Gz5g4rhg2VedDnh-(YAxgFrt|w zNTXJ0xGaVhf})Fh&sPB-#J-c-(|h(^)V$X_Pk7PDyo-95T^5P2YUwU285|*FgMPmV z#zzf|lcq|tZZTWh>m!4XRWL;Mli{MG&QckUwJ=PYlK*I#Q0$COCzmyfwM{q)dDXQR z_{g`2p!347$ZUraAQpB8uUp$gcdP|&ik@~HjzA&Q249tms4tW|TF$b>ro&-z)Ka(j z$;m1*ipW3;8AjCg-x}L}?+nHrZY+qCYz%SapS-84YU)2Zo6iQ&zgBUPLzLW z<`>Fa#JLA}x{KoJlLFTsz$r(X$iILU#^uN*je@kRL(593A>VRqYC$5U1$bq;p2)cKRW0 za7Zgt^%+$t4^y~G_g!SPc&rFl%y{uYyqe&f27G{nU&<@VVjx^(xlgk3MF(dVNm6!D z_Vq9iio=-A<2YS90z-fz zd6g-8Tp_+0t&=6c`1D(TeiZGk*X_6L0U5t7=Mkw#c&2#ieV(3ddZQiZCbHMH+2KWW z2?x%?NKkWp4120+wggR?sIS60BfLn?S$HsH7wtqBoUT^M97eF^r1*Ec54OiH*keID z-~v2;9!%Opa)$f}k~5RoIGQKoP&+I}D@>^+(b5e?AjrdVb03j?lxr7^YR8S(@FnP~ z^OeQuK?%-S2`Mk4)@67{Z?%g39<<-%z@_5xqr4Zs2i$s;XZ9t#62F;Q?=WCj>a&WR z{$BN}zn5t)g2se!g+D8yBt!gm6vkoFH|;+9i3BnZo3WhW@>LbNjJ$+tH4e@wgdHfCwO(Af7$OB_RRwvcw~hOo!kr=~8Uf5%h0jX+13TnSC^JaNl+e5fztbBlxM6l#za4h#1W>yzM3 zV;mh89P*|@B<>-W$9t!Y~03RXV_7zgOPjp&4BDkD09?tak3-2yq- z3YyRt5al40=zpAN$lr*|j`L(69b@r4P*f*33!Vy502sESCDgZc3RwL>KtgMp@ZBFw$}2KZJ&C|7{mu!itq+CBh>D7G8a zvm15{Y?8?6sm63ubl2wgu}dnxhlS)2eZS|~=damk5jH9~vt;RI<~0C(OI}*`5s4m% zJ{)i1-Vp*JqYvp z-~`X^JItOBjXl8{dxSZ5dyJ&o@uQ%MQzZQx4$CTW{=d2BrVlTbbP%Ny9-)9D~SzV(0zPrXM1o3Nd`@l=ZnVY$7x0($kv73gYApvE$#oKxl_~ zt{V8sG=J;FmhZUcb3(0=(xW}&G92#f_`00(6OmtN{o0s$`t~SVg_#jw?8Q4p7D8r4 zwOtQ7bsP#(res>H5bCq|7b8S~gq&d~hs6Y0P&u*P+%(YgmQz}F^rc%RrDv@*^8Z=m1eof|dUs zI0m=$%23y_gVTnQB3(~HJtDRHqb3jSx)ij9 zr2wlyq0I(xzVMqpHHto+w*HP)Kt949VqsmYgX9+?Es?QJlRib*xDcA-6tu!Cu$(qS zoHn9vE83+Guq`6wW3a7nBl{0+w_BdHu^4t=4OD#-zHIa93qWb5v70`Y!@y{DN`8adsa{r(fNT{FpSp%`LihXHk})UvN{4~dS08eiXq+@IH;Ady z+Sv9t28O_evL8&hkF+}tjvSNmHgl!yHSYq!(lf1XIu5`M&4eoR{tW0~I!MG=7=+!2 zht51I%_E7+trbf(*fx)}&Y(qye;bWY4r)m!puwnVwp~cv83oh+cGN4-v0$cG&Yx&$ z$P;iY0h?Yfrbejo-RZFG*m2yGQ}oo$xgz5*%>P{RcU4Wu$c1Rp7W&dDOV_~(jrup} zHxC+(hL&!Iy5!*;1c|5^+Ujd zixC4O)P!z?ycWn;0l7IekMDDg%7H_0YV{1YhQ;+#0BwcjE|z#vbW!} zJ#ctqjw2|MOwq5ItWD`$!96IWF-6dBY0B5xL#Pc6K?&YfWV6h0C%UJuQ-fJmq_;?C zdB9r4(@w8rNu(i(_q(W3@@Vlz7j;6^P|TfvIvag2ap3dx!Qz~*SknRGs;=tbUa`;+ zJ@hi;4e(Knp%6p6QtV)^WS@73; zAXe4vFEjp$e8!LD@jqpx<0<*^qs>27ljldk-o@6 zbcda!OYb)5g0-O5>P?A1aJdV-tQF87rLTP_GEef%Zd-8S)DC~UhKZ>sxhL~(vRk1J zYBl!?+A<(AF{J12L^-L6Z!Zx~p2T;R%edHhlBabU>#~khKEFil1j-~5v6=Wxm3|5x zvmo{3qAQ8RM8uE0f3L6$3yn@47YjAHxE8Ch$+~w&S2rN?*Z#;y`RHR;6McYVEex)DRLy#edD+hrl&2OmFBxrTfTzPhJ;D)Pm^mqMmE z)&jyt%8^4#(g^NNQbfd2;=C7OA$?I`Tu>rRh{&=1Iq}yxWW~dFnPQIh1 zIwvP=z*6%@J5W1yc66(yu0UvD|7(z{|j?3P( z1)(9Cz5p1C^dC{0svkO|G_#y$l!jy#m&1#VfBayv5!!WxOCa-&X5T(HCZ|N zwdj(hCTD(!qi7w$gj<^0eI;9QiiszV%1Um+bJaFpQqUwWPEyCo;{%T-sh7*$PXL~@ z6;kPUP2zB}IJvQ7=CKHk2hAGfc;Au01piZ#6|HG3=FE1z#cI%bE)s zEXrby%zc_{>j5GoRlO$l;;<212oyNiGwmLLdh*2gJ=G-fN~)TvxEsW-RCNqS6_tij z{q}+wnWiRpPe*fDfhA=D?oatz%uZALb(h0X{{FRCou&@TJc;9AA`H+v2G}MSNe>Z) z+8_H`97|Kvl$uXPmvl8b^-CL`>TLp2TUSc3_x3z-LAu)i+!sH!CPk-^`v4BUAP}Bo z>rfon7UME>$)~8J{f%ZcOsq>+V+OsCB7_wy-?Mv>wZU&Zbg>n&r4iCrY09@&TJ+8@ z;$XTuNLEFZroM{DJDPfVcQ0C!>rH%n{nsKbL!IAU4=X$WYq2&%O^%AU2MMesH8@!M zAVa-!V5$vD#dH#C#~2zCKsrK6phyvK;dB7kC^OXwxaz+wQ}vwt#ZGJ1ID@6xj?f{3 z?_DJ6W;7P2!TDrEO4$u$^NqA@zK8+hK&JXG?41{~)XS4MecA3yLQs(U2wmo-KG%IE zy7yE^o?D7~ni}zh?!StqZ`;p*_F$Z{2Cjpb5V-8N4wNtF_sh*cQ&qhID zcL2;@dEz~bsYWRycZzwBqL%Cj3pVJ~%@vUG!}>!qgoNV|lHQhA}IqvcTD zK26((ce*Wc5WU!#hYzz=`qwCfB5MHrh#Xsm@24`T?|pa@lkCA00$H*PPvX4>Jc;dh z;z>gN@t5t{rj&n(0+RajMoSB9#1kS_QidnQs^pgAVrg&nN#B^mSQG5*qwzHC9exDz zdB|V;eTT&W^VvFRo%X$@?$;ymkAcQqbrik_PU6Ti=#O@DVHu!2odUrYAs8;u(uT`U zldliooUV_NKOUnr5A_A;J9uh9wquBLvex%msQgFBF(BQG>z;*x8RgKm(lfXsg#2)F z^dr#;@|+B5I?F`fL%Xitp?c{`fqN|u?_Ch1UB6?OroBLsIBw-mhneTY)q8N81KbuX z-2l%z>o6gaYy`-U(mO5ww%>gmn?ugSvR_(4NZWxB$gnZouokeeYqFZ?<~H)fDNJcc zDAH+wp&$Xm-pgZjtrEufF3E?ZC+dV6QwYPfBQP^+j53q!=u%>iIUqYE5Hvr38-er(zp>1)63H zkezidj>A$~BS+|BHCftt@3<-=!Mgw}*D65?-;Mc=^AIvt@uZ)7Q-|Z1MW5*oH^nJ- zbXTk87V$t2#0MNY;yI8=1uDyQ)oeE!pL&onTSu$_ytTv%=>Ji8(7Rwf)kPpy;xss2 zR7l@4Lav_%0YiQ$@zt5x@mqbtGWCnZ<6G(W!w3x2 z2_Av_*3`AxFo$UwDo2O)e8)e1`Y*y&{38@b=&~g^hazKFN zmf{)}IsyV*o9yK#|AxvYQ#cZLpi`ubA_&hC#D*LVt~m2|?pH>si5X9k!=2ks$58B7+f-=%{i)JIi@HcO7@FtY8kq=NFPh`HUvp4Rh>5>=vM3qI*I~|qSUdn z;u_SkijKM5zG zIN5C0aKuOM*1=-qlb@>ps-|&z-k+2Tr)ZC?t#)@K$>4gY;)SLl{UHCc%jr>p8pA3g?rl9dz_b42=kni*l zSWagvC(tew=KVj#eGOPt)%N$C8JOAU%z(o;g5Y6LL^MSF7E@9)G&3`=nwbsYHLsa@ z%?!=!j7UW0H6&u2nT=>>W=3A~aLubkL}q3qshOD#XhvQ$GBYljyuWqk42-7t-sgSa z|MP!%HnaEIYp?ya_S$Q&{c(KPWI$tAK4?IiyOCDAQRcuh1erFws4sO#02!N$Y^j*^=0dn`}{bBG2 z(jj1K4rtjLu`wG)gf+lpH+c)jqaWn$*j{f!-yW zVG?qs(txS~E^G*NPwz2(m}$_ifT@j7DwsuWYr|SW+Mh}ISF*5lFL_O93hH2^zSVE5=X-wzPrW;o zANv)r;hpgCm@B4K+bNIQ0B6vu>rwGjEeKP3FjYSNM&hGIS4;==i68O)zu|?fH`nvo zzo9e>ffwLXdEC^Ozw?`EM2rntW9F^%%Q~I3wrw6Bdet;aKgPqSUPYGU+Ot&ob~eJu zx(->cr7R2aO^~amQ=zN&dmF{qmn~oOwXG=n>ka%=E2`4R!!Ng*X6t`=`Gp*|RKMlx z7aCY<{I;*Jt(=KiSq}(#3~lvg5u{PiolVkU zKdkYdJEL-RY;ASyr$+(fTj9g|u)@Jq zaq5g&8ojK4L+|5P{OKwBz9^?Klt0stIfQsF_GkOr$j#Hp6|KE_@yyqe8^ERu`l4Mt zXCUa# zoG*Qfg-R;{(dm+^(?9h-9iz2bo>r(eFW$URu~66A+f1n*%yI-he}^XxVRMBi`3pnX zqocq6tQBT|Q}L5VIU^WT4c>S!ZP8%IwO@h-A?}hEuJeOi0KY(CzHBu_#j;!3`#qN! z<$j$3*KLR_J%t{ZAiC$F_u=oo2DmZ~Mwj9D&xv@VwyA{05fiNORR~;nvjG%~(a>HY zUOkkZ)$iKLw+>_J`qy{zQ^VNSwqA2-^rHU_y_dkf{`4}T)ehtvZex9f9{lKS>|rBV z%20vNdyZsNxqTT6&?B&UB%2=OjnLjz;~^thpZI;WRhVgX(+g&M;KyF2oAzE2-nIWY z&l$mncm41<^{=TI0y&?4Pa}*k#8s0(rf@5T`FoErJS#Ma1xD9-dnXL7Nxk$Je4}+R zU^@PC0qYi2W2X&hTeS|4qgwbqBUvB)4@dZ@Wh_3r#*QcUf$3wcpN?G1SW+k@hNvk% zi5OzA{DUfkg)eF8=q&nIM`sg$55jGNyY|G8`XCTK&3HRoU|fn4Rk?V}?W{!q8+dyZ zOYf*dC1CAtq6)=%D|n9lgOx8vu^vK9=fmDw#cH)88iN7D>9zF*EGbCFHwpZzl||M1 z%v&v)z8nD5wrYWm{KtzFN{Q8KAx5p%$J%3equI)!IMmf*mut`^Q0~?J*J{HQPf5Ff!0X=4*aP*+5P%0 z$9Th?EXDSw7p=k9&mVbF+xq#NV?1>%o1k|do#9^(hb zvcjQYyFn!8@G^a=6*n+QHh)uk^AR%(;(^jXA>&IwGGBEU>wni{BKwHHQ^kO#+JN1{g^Bt4eIsM9h% z^y%2TS^hd-IENh|r6C}=!f(VKJfJENyy{*SIOqTkGZQhQp$0hQhcv9lqG=5_P0Fw& zEG>kdjlotzI7EkV-af$hKEg&t`d~B|*MSzv%i+~tdHK7HS85q!SN)odkKZKYQ8&o= z&)$r^vnSF~#(0GKQTB>{(*eHYQ7FWZD1V*DPV4nMKjQNrW9NiL$^#47L;AQ!Kk$w$ zNJMoiEW*fI0T?|Fk=wD=F~QmjK!mgm`Qr=_ll`zh$&-j zyO`>O;$Ab8h?JNL*olYau>oz&+Nkw)@`{`H^&8-W_P*x%d8`)Kv_>z2sSP^jB39{0 zjd5;+>(nd8>4r;A^ZF_5a}zb#9Q>Zw{9}8^I1j=R&Kd2O{6o^))A`c>yWcL?NBRo0 z4TNgo#)4?utRGnRB#SmaYm@`4HYo8=vY7#nVefmpV+AG<5nZCojVhh0!3Ju-1dBr4 zL@k`|2M+~&oEGls2af?fOA9CY!6m?lYhf9`s+6S+@U&#f5G^9cFM$d0{#rQP51s;e znidZBgLeQtMGG@OcsSr)w6MMn{%}-j2qNM&z?EumYfynA0FTz-m;K;90T0#SO@8oO z0JmuHbAIqtz>Nea%{r`X84I*v`^={oo#clLz|H$UAa3p)g&mMG;QG{}_c0Q#Vdl_i zq$OtFMq>oSe8NAjSxzw6*-1iHVuR&o^HIjiYnXa?K0BfR0^hq^4n3x3qcVRv3l(Bo z-}APF8KtL*@UIxAF{l-EMCf+ig8Zs*zQ!xbG8f_5%o9g zRL&1Q%{~*#mGUBH(t=U^y=RzZI zNx$924?M@7pqODi6JN7e3W`~Gp*O6z0l#_o(0n$8HLxMPwb$ERIBc#q*D5sE0l=It zerh%A=HKJ%_~93@FmdqPOPEX@K51WjLoG+MU(?|tJs(0H4kfFE4N+HETJz*BZ*QLK z?E$}{|NR8l@aNe@{qwKz{-taja(=3mwZ`oGhquT*v?8xYkxu{y6=(em=wTTAd`!Bn zO6y@fG_8NGiW|$&#jv=~L=Ami{Cw5*C9eVnD)|z=x{M8p(=02`;CRaKJ5@PX#&!$B z6a3XRkgX3X->hM!0(}f`EsISEh zkGG25wJMgNii-hrVy-EB9G_vR#bj#rTYO<|d5QHI*lQovh2~%rZKb!(!Kh6Ml4Mx1 zC^Mp|e0A@m;%lq@p}9t5kdH9cAM?&SsK)@QCLx`+pzXfwh7B=$9d`AF!TiOS*$AOK z|LSGtL_17h51wpY$4|Y?Vz_HP>(~tyCI%$td-PpzHR%f-G*+KSHCF(p!&BRB)tus2 zO-$9Vpqj(f?z?$4r=XgVXf9thM`+!x&dY7pB*Ik9p8PO~wpBArtL7l*4Xc^rf|L>N z;kRyJ+XkR6Xq}J(>PSE19M$cW-QKz-X?4Rq5wRPvD$)sn>p z7N!?)AMu{oSyabSYjJY}Eu;4YmYD73&PR04a0ukhnS9ynEKJDYFTBpWCESM5fdyR^ zjV7$4%OCKD8=wKY2)2lS^*RJ1hRIf7+pfi~9O?}>1A8}NPv!S*Wu0OFTC|n*NHzIk zchN8jOUtum1$JBKxJ)$!JHMCLZDlD5KZ1>YL}s8Wh%JmF-Mt&=|0d=^}}xi7+wUdFp;l zkR?0R2~uVEk$#z;+^w>E*~`Yj0skT6k;u5rFXQ)Bd_SqBW=zB><84~T6TBIhZD$1o z9g3Gf<23%{;Lo*yRYB0?X>oXXUgh02haFiRR17#xGj_qK7f?_j&2kSop(Gm4P zabu=CgND?D$*3WzJ@5bnwMUe%J!sfVAhq8sA|iDSXHu z{{Z%q5BbX^35BHxn_O9TzUm{ETJ|usp-*@4+7H=G z>G5Y^k@N((pMM6QQ^zq$#mwFr?6w03uw_2`BNpSM zTJELVU$~op@Da<6qs*Y#R%GFe@5r>$y>HlInkO(eOM3C!53me1B~U7na>W5QSm?k% z02p})AG67SpxQ0Nk%um*I1xL!4;Pt1EEOV=h*38Szv7Y{x}A!7wZ(hbfLH@zl?~ju zy*mX1cn;X0Z#cfdL){4r*~g4^1^t9?Omd=bNWg#;97GzX({~mXzd-f2^(Qlu@$9#%Iq~rKApTe#^g1_@A zOO%KLFn8mt3k{#Lq}!>D9zm{6n7A7ehjnAYPLyz4u3WPaC8y4z;nfAhi*PYvl`H|A za0rf1JBEJ9?{c%KKT$MDmm#X;705}D3(15GEe84)bcZIj^n}M2=rZjPExyqjiSR&# zac$E|G(r)!BK$4Flw~l&%_!nm6z0My2#3SW;y`a?Y)kA`9fmePlTDXS%JGtoGZcRM zC|O7c>I0A=csSrxn+<-r5@3BG-H3*-C{(=99>e!WkZ#~Sy8dcaIq48!m4NlpV7KMz z__K$ZsE&r?h{Of$^@mvx16r;u9=lDnzKW;z?rX=3bU6A>mrTDwiBZ8y>Zzt&ZmVPI zDo&ao4$`#Y;M3Ie>)3>A=uod;N2j5V^|v8iB3we6JwVMb0(b+#w*;d+2g-c#XY64C zn?#?nUOlmNnZ1JMVd~+Mis5Jr8iwB#w8I8!FdfJH#$hQvp2A+V+VLe7zNlSKx1-}c ztV-g&<$UN79BOI;K8bxCC)?ctY)a3tP`wRzg_32#Po<>kOb2p9a&&ItY*z#DaB#_5LNyx(oXl)oRYI83WgtwX2N7v} zTlzkzY4-L=U(GxIPGXb=m`V%}R*alI02C z?8=SUT9p{?@}P{fTzvZ%%r?P->bZJ(JN8At@|0=ip|U*>KQ-mpo)9zmZag*DDh-$X z&uX~jFPf*|ZiyuHyIn&d0>d=~@(+Wbh@o&HnZ&aYce647B5`pv&;F8ivs1l?;EcqX z$Gvut7^qG-E=ftk#z8D4L*Ll)Nc+cP)S-=WwCOq6XyNw5;iFK_XgKl{jN*LG%b>$@ zje$JiBnxqnsRQ>0FfNu6DJrGWuk_R{dV~Srp;JrWxSDW&d$fIg5YE34MlE*yg5NRt zq9Ng2(s0O6I87SP1r4Veg1$es8@cZ^WIR$}r7$Hrqrtw`V6?18pBr@eD(FdE*Fc*@ z!9`GW7USEa6_|;3A>EMTBtj@*%)6S4LB;obTbyX^s|R!l1PU*Pw#@?!XXvf{}<>+nsz z(BfC2Rty-5X;_0%b_#JGyR{g8mF+t~w(sXJV}6w^AO9H8X&Dgzl@ z2-hNP&Bpr+`%E>|3UqN1s|NjXZ|y_qRM9_xvkADAjp1xplbp@tzh*;+6HOXn61rv~ zI7_zc8VLs{nM&*kXMrxlfylRd)&^_w{eVF()loX+UA?BBum2i5cKi81zGl%5lnP@s zFcUZObxz&kWZc$wLRlks+G;hH?H8p~c54W#|OF7ap zk2Hjvz4;g@FG^4OQG61^H5JMj1nEWXqco5jfyAIooy6%v_)Qh3`C<>$x?Eo7VTy>Q z92El+Y*IZNJP9liSViCI!Y8fW-K_b0_I0bNL723;KVk~pzpvY+&+rS@RK)=Cv(NuM z{7_<4_&N9un*ZBJ`Pq7C;-`6P1IuyDncF^W{scd<3bDvc_=$bCp`RYp$X38VPa{kE z)*~9(O895Pj{|!o(lnnp;X+uFYR6UUGUTUZKz5q@-(eSv6Jihsc+ci(O{S&Jo1i* z-szd%&s0WInYL>+!iT{(fdf%n_?szih#Duikbj`pzn^gWy7K0G6w(W1h%jn1KiuReYMy zZp76Fpi$dfXaFQeLFvKqX$_?rT}&j_V42j2$((iu06TI8pQfWU(MUt_C!sWhq=Cp< za&<>sz^}k7D9w;5M1yd<0JkEyUAZRlhNpk3dBAsUiT=top8p-|76FZ!zQyJo5)fDc zKTdHQwr%8lzhhBdH>zKaA8@`ta#x@ySQUL(a_EntkpmDOrqlHSYRh+Q0)6l z_iFSN<(+X97LF>kIs7L4=0k|hJP#B5X}I~#lwg>ABaBD_$ zHjn(C4GrC5l%tS1M8*{OVs{!SeCGEo5$#j86a5JhR!ZUu$;0Y&`1&KnA}ywFf!0O& zSLB+ip)eK@=>ROrDH~+rCO9;rQu@drvNPzQAPTw(SRiLUKWG!air+5^SS;qb7CL6!{1DiYu z+O!U~AOUTOk-Po}P?)2^Zqs0NJeMe=?M>krASiD^&1t@>iKVDHLICcCU!rnhpt}&h z*u+L8Yz(N@L&^RN_@A01K<@c8Py#{55bgqrTt4YX)`QRta^K}9*-{{6cBs~84qPtS zi=0^N>H~E6Y}H0y{v&%D10m%i4Cx#B;)|&8M!x$Zs=tw+xCpEDMjreVxM(Av@Dr>O zR1TD(@F#Y6T%xxO-kXn9hSZISCT+ej+`}*a#FqO|KBUDSR-Mf-HA7@o)Ij`pN#rG$ zScVl;JOESb4>0O3@UJehPTqY~=kfvpXGc#yA_{j=)vHZG&3_R{%E;ZW^3*dyF#+zkM}7h5vs!hYX??Kf=x1 zaQp$zmw_ApJ#bs#O5vPvzPSIJ-@b3eIEjad4RyNU`@3w&r;#;+Hy2spbpcM;A~gs41P02GaqS%A)f zj_XoKaHC1hZ4=@=!0Uv#XvBph&Z?1mSxv`RffRUSD}EfHG8ULwz#Iw8Obrv|?oBg& zAyPDBa-Cu~U7lz+T^esUU0ep3PS=RrxkV1iS(*Hd=!d zkJE%eqhFx=L&L1Q8xx``FY)(U*eviu%CGFfL5V`G9`DT1jo598LN$6BrabTLO9V*J z`#wWU#!6^VzVFD6yTYb(`3kexFtcFE^q-Jt4<$Tuz3pB#gEA#itdox~yFODK(ApYc z53HrvpC=>Z=4|Ei6}H3;VWO89B0&Hxh6u-sJhZ@Albn-*=R_K6FC(V5(Eu;(V z;<8ra+_(DH*iX1mDdVbV7pO=EF( z($E1Vmw=r}ukt|m2o4b)P&8JBh~4nBD?~g+v4i@`#%j=7A1Zc>lj-_e+EcW04@V_% zYLfb1wVn0#@P<(FUS!ulOtb}S;2kK53sEz}#I0&xw8MtHV#3Aekjd6?F;TE9hr-2_ zK#C5O?Y3GhR`fCAKXGj6LX5ak7;OuqhYCxO*;=GlpI}5EhP;4IYlMhy!V>ea48e_7 zhFI@7B{6Ib-ej>_ur#68gd_-*%dPoxIX}@!?15owj1vdMsS4m`Cv4I&wAD%5oaZ5~ z4cO+4PT*7H#KIVKaRzcM8PNq3h27*PMbn6CN85Qz9Qrts$Ha>YRyfsyZZkDV%oJC* z7EoIqt+N%Y)Z~=apms4{oZL0XdzUB*1QaOQsI37gVsrvN2LoF)3@8lB;M~sQ&?Ll# z(0$?)q4*Lz1dwkV0gYLPxQ-LS=R;&(*IB%irk*Rqf=jSQ+fA+VEWhs{Zf_1U4N}+fDBk{sI~D z9pXmXxy>eK2n~F?P3#ulV00e^QxFD;aAX#k$yfhVOjP#R#C!CxvIKV(cVU!#&{dp* zQR1fYJ=V^XlF-o@LP=oM20lAUoEh(5*`1Nz$`ZY?F1$JH;un&@WHOKGCf<*qh26xj zAqyrYi=A)DiGo?aoD^SDMCtBoiA9I$2ynfZwL)8sa_{@5VkcPU<;mh@iJ0iiUAGvb z6O{7q;#(wECiD=erc=ZH+5y~wH6e)<*wJXx=dj z%UlT_Brep4B2mYYvO&#&42vUWr7S}X)vJPeyj|ITD+1C77CeR>urGpP4D9Q@BsK9I$4JotI~-lJbD}=VGRKD0C0j zKAo_H3b4Zz2Y*jHue(kBG|oP*W-)}O8Ks(H4_24XxNNzrJ6IBg_6`>lgY2o*F|qho z5#}3!E({lKDMTUDkJ=RY87QBWy{n$BSkgqqM;L%Vcm%o;MH~SUjAi5qaRe%Mb%a{K zn2};E1KERemud@77%7H{+YodkXjOyygSmVzkm3OK019E()`;NLd@4r(UF8yOF}@mB z$^pCg0Jl>@mlkhLm4=bx3AM2^#-m&B5ZBYB+$I;s2kSCNVqk$?ciS)o5SK6(b5xd? z+Yw-f`BlIeCjmPa_4`sq=U21D&bP~5R9Te;DMC{Z)C60WU3O!0Htl1eVcTJM6a2*N z;JRvGuGqtDAvqTAC6zN;?2&++-a!!HHt`5_1CfnG&RKT8eKdwTgzIRrKb1d_%m`@o zs(+%d#$u)>bPCf}Fa$)(7_mg1?XIBFaNB?Rc#m>mjCi(<>vr8Gjth`5fI=q29*`#U z;0fYVHQWzj?17d|5HAEHJ^`-Zc_yf|B=tKr9TP!gO!kXDWxJvU+6YK(_c~Ug7HJ}QL~-To(;Cl;f1rswW?6)1wm%l zcFSpx*q+V%KP+ZoVs%4U{;scZSh`{{;B#_#$-`nHk?0DSI0v7IvnLogPuvi`2_#bI zh!@G!n}N8HE!h0CC-Brq#K;&5uf*&+5i@HM=upG1gr*ptz^6YV?v?WNCaI*k zVyYSz5XPa2>2t+l&`Z|O6+cF;`0RP&a6WCG$c%SlLOYYdch3_i7?FNJb3I>GC?@fN ze-@7iBLg~S&kBOZ_$^+al$Lcas?(PbfB!s*cNvcVu_b-X@J0@I>VSquggxHZNN!zH5N)!K*$L!}+Wy#DOVP zbv)E^u>c1j$3iv18oPL)-B?X|ce3k_z^qu8)*m%a;0K-%2iyt)WQTyG=}W-Q9F1to zxE0soF*uuRP8jb=lW;W(MM*^a8w?MDk{p_x(e2r8^v_zisTGI1(#au`NI zd_MH396mK)O!0wM=zbR&NWuKKohmNr;8B&#H?P<4SNetg0(91LW}eE5YXFybi#?#K_{z zMBcJe{5%M{C#^2%2+xche(JAcpIgA;;Ip>YATB>5csaj8tJSAQITl-bYmooYRmiNI zPhTb8DPrRW>xv_wyu}2S{bgh^1GefXBUV?h4jm2FFzB)H z8iF&nH%db}p^F2F+bcKlL#r|T%K55di2C1yFZ>=H!!uWlB1Y_()#3m#C%Fcx43*h@ z#cFZz4Jce*EvC}GVg^uBO2mgkvQ6q|{YIn7A=@%4a(H=(_$-Q$`aF#@W%l!8x)4l* z1*}ju7b^q|u&t%y6V!x01)nN`<{Y#Dx4fjlt?lsB&YD zglt?Y7w_n36KeX}yIt02>hg!!yVYW4SUnJ~FJ{$p@ui>~xdzN{AjKv*hlg$ypGE_% z-6;Nw^ktjSV>Z6m`*U^^%oa92^Hp&~_Z(dR9M~%LZR{AwY!gqA zl4Q{1lM#AX>eGPf-$W5}l@)J_PY4|`x~bv*hz%CXADvUN=3lLjIXOzqTjCg|PB54T zk3hoARm2i?+quThjg?}O1+5uU1=bFLLd<2mFqCFU$QhrIbqYqath?XzzT)?cwQeRj%c@#Ye&3b#5;&xv}WV z;e!vO%9t_^Ll);KDRts>Jt?TpzSvp<&JPsC*`m;l^(w8s5m_Mj0ST7 zM%({K#i&4-vg{2?%TcjTG=77jT7>1~*DxrQ^Bo>BBLrFki3u9pPthiKHoxkD45D$Y z$2^1u`|x@!`YHT_UYBXHE34|oFri<$byrQft|h=@bXhZBa}Gu8qixYIrrIVfZ&A_S zHRW<`fJeSuwIOn6F^-|tBr3-m#4>%#Sro%b2E>v+TyWQW!i03q7JQ%&ni)Y z0swE$R?5B+_X=KKSNW7r|5jWc0XtYnWUALWQ@~5RsZ)>J`Q>lLp=t-8#9Fpd{2MV% zqxd-*vi3W1lB%oH9m6UU0ykJGrK(a7YxpcKG^TA?XaUb-~IsX*9@)vDlBH#H> zF-|B~>i#J%REuH2PJc6cdBXQtBsVCVzZcCy1h%0_dC+4ut}()(Ei$jYph~Qk3*w!6 zQQPZ2xsi|iQCvu+!~o?7eiUO!bs&b_wZ(2N9PDB0@)V;h6uDgeQH&L#&ti(gSNQPe zx!5P993RESJ5?n11Dvd2Y!07!QM@Ar=eS$*WnCS##Ya1W$#52m5IFeC$V!! zsMI=Gvm?HP(gbTZMs5kZDa3j1jc;^&F;y5L}mS z-8BS@IZ4VFe&laU(z}rWhitfleuid5{x{$snZWbSQioCB~*XDOmLkWPh2shVF24V88X6d2(4 zCk?svL=@@ zKT5hgECeSV=p6qgo3-TOJ$T>IrqrcKUy>zn`zUD_S&aMi0-R|50XK3guxWpXbbm+9 zP9LdRD$b(_u+vvWXY+G+NH6&e8Tg6^Z3tX%!Y|K~-Ve|5n#Jg9&pKQwwqmUQz!!~{ z29Qm-ALM{)Ucd55s{;+KT96xath*Ya0F9PL;M`B>7%5ePi8rJcmLEu&F=M2ZK$@Tj z^6YiyFlFT!X`R|O{YZOQuz{zKl@j|vnINkcj{mA>CXh|ZEWn22rI-bf&WLOJ*XJtB z=yWTtw8lCgtmI3^N*%30A{NxyH#-wC+CSy5j+Hvo^f<`3(y772ISUf_v9VH*LDo!&LJq_Ct3+{xWihS%cZ-eRCVsah27Hr5KNHUqwbdCRSF4S z3UlvPDeS#liejKphLmQ0+g(yrOeR)1<54d>n$T9STT!oy1SNR9G*vKuj6tvjdp7q- zcVbH3eUEfH3h3B~YC|tY9_P^ve9khl6L(LL0x|y`gG5u8c+^nzmQk{epPL{hc19Fd zer-{Ch??Q2^Ye;DVltn2uQZP))$7(Tm+u8{{T@7NqNLh0FiWYnkdlc~FTJo)sh%Vm zNEff2ERimKVX|~T&by46f>0u#@BLXjMT$|Choo;{xP+N{iWI4a;}M={S58flz7&L9 zW%pF+szCFAp?F{COI7=Zxjk?&)0INsIW$eONfbxnli5nkH0cd0z~%>~Q+i6&6&$tg zmwmme@Vgtkx?9G(_}Uz4J|zlS9iq#eA}f)((%`@(LT0kD0l&C26Yg=@0~&SCR7$wj zD)-#bjKj~Yo-dpwU5*D%6kG&c$UK}S+m9=HZ{ag^RoifzPgYj^Ntz^KC!_u`aFt8B z`k2&TKh!@>8m{IQAx-zLI70tAr3o$ekB>(D7R3Lho3*4+jaTL`l*S3yWSj-0DM0F( zY%S@bBJopCNDC!wvGl>=-71Kl>3Pxs=%QtLQVQ9G`*;9O#?AzR?TUVpv{@i{m;-CK zWV^Csv6N^)e;xaa^oD3lbmJgr;np0!VyP4xViRf&nJ)Enc+h6nR@nHirBVjE^WswJ z!QKsN)s0~7OV~|?t=t-juQP1Tv7P`68n)$FYj8dhUz)%%h0OFCFO26qPzJEILrTQY zDF;NDjoX~kgB{CdsD88xHVVgC)%zro>a^QFzfV75L%5R^@jvrt;bEtk&ejR2aO>iN(@jCJy3 zrN0~Dg@w{~Elx>!S{h*%a+J9x(p*DiD5x~$=$e9Hb#dA+Jl`LzWXJ8@7o>;nj51gO0CYdAl2# z7+`SE=hEZ^+YhU!EyiIX{A%jYfOLf24Usf_3{5$_1!!1nPgo@@%mlD!cZ))#h3+>Xq2+xXfSrK@B10gjUfRM;@`hm$>1J7kJI#n3D{Qa!$sh0WC< z#1SqT(0;|XGx>1>A0$_DH!~YU&j#8RllHLmt5|te; z>0RtTD|0tW50NZAwn=)}&MLT_a9iNk!4<<5z~#ZsfwRL+gv){(0+$AN z9IgvoG@J!a2X|>kCubwvNjNuL4O}JMHaHhtDO?fU61aJAjv4qj1#T={CR|@QBK+@M zGH^Qm7kD?KVMV$CxaQnW&hxpQ9M@#z0nk6u5x?+$KmQ&-zd!zs{1qDRCj72}Tj`h9 znd`VV!y6G;fCRJProoMe8wocMj&OV8SB49RV{li{olS6O;Eq$*!d1cTgxdnQ4vx|l zIs@X;HfUewj4^?n~V4N5})XuMkCkbOt8yt8Yn>_+Dvye3qZz z>gR9vqjB8NU+L#B^7GsM{Kk%4kK)MifhOJIfHSCJ;a3VQtf{uReFi*5Kt ze*SrW{weVL8o}vDKPz!ad*V#L1krx}M!#0u@8^d~v8qCf6z1_C-;$z&vizb3@>?pT zsE&=OyRRz5Fg|}3e*n>=oqizM&reP7Lv{O=w#v`H#m~Qn*H=i1jwybiOg}$0u8(7y zQ7@mr(a%rp=7X>C^XK{bXZiWZ`}wKekTy*1N!c#~H)C>kNHC--Wjmyo0vro4j`O^3 ziJzZf#gDYdvAK{yT6|ylyDap^$-qndFPtxr>wg^tNPgT)tO`W);3({K*C(jZGA8)J z$Jz@>;b~8J!)G*l1e33;)OGY6YVG|CP>I_4GN<2lAV9EYtu^*&1W)4k3^ELd^TkmC z&I50OU%^(+_ZEuay1l1gHpXjPt~$Njb(L?ggrbD&i-sxtOk1JMoUN2H0ykPW>tHkc zyYwxLfWf<^4uLQd#_y9>d9BtSm$IV@OTxJF=%Zt#t*WrBGC1QZ_I5rDQi1qAn&sm0 z)ua|H!>gso1pMxLUpggFRvp!NSy}%9R){tL`ltYV{Nbz>USh2}r$M*RwErJC{l^lN zm=C30k`ahvmaH5*ES2buh{<5t%G@JTXFXK!RmY^c^w@z313ECv6MeL?Jo<2!hX;Qy z#oMqr=$s8%AE9^ZJ)W@jgwyIUt;M0vH8_iFZ7S#EK9}wlY)bj(k}Y5`Wu()Mp+|i; zWyv8$X)c$uc(1AYBPcg{-YSw>SwQ*tst=2%0r_41Qd*9x=AV?->ZxX8oHL;C%`5w? zMCT5a0eA4jDSvVm<$UPZ$QQdRU#rO?J<`*HV*?b6a<41!^Al{{y7stvYoHLk>B)%*l! z7!eO+L(jVhrgsNk;xVVCGU6oz^$|wJc6zKNZ6mKfjius7e)Y6;!q^q8X2lM~8EI|^ zp$6M0sfKOdx-aQN<$-UcImGb?&Pu1R86+nHoN<-fAi*yUk^_zEAi2;eeI9@$wcksU zx||Kfqk{P!7p^!-f zGQj2DGtOdp$0Wy?Oj4YB^GXAaq*!ev?aZ==t)-E)1|#Vb zMw0X2kEBsXGdAOu%|`PWA(-gIp#r!5hLL1fuA0nGP$d>h<^dv1ofok%s)T@%%z-YtY)M4NSv0JM+|w=*r>{bD|(X8ity8>#3`H!8}w0S&|cBPNFvLCvM=Y zBFz1zIsoZ{k_Bg_ZJP`uq0f0%w}x#Ew~Z`HoeU+iZaSC0|P zSI+|smxJr+3#b%l?dW=u3`W3Y z#ho-l}oDh#TPqzUc#c;V?2SX4QRH%xn7hJ|2;57pkz8O2^9nCS6#^m(yweW|+ z-`V0cuA#$sMV{Dtz-v32^CfC5RYBjtC&ZX%rUFl-H+OV6Kpr7DBL!W@ujq4EVS=+S zHS&DHNwkp9u$nb?G zak4pHtqao5m(2$ZY9V#_m`fM*9FVEBx-RBEU~ywtbGi{XvHRt1;6uBbXUC|?aO@WyRg1cRg|K0qxbeke zyHefN9BYOF>QtJ!7bdgd-sX707>Z)pHz?`p<}yZg3)JHPrpu+&4K`mjsx@-jqu(Pc zMd+Q|ye)0eWh+;2Gp`URg(1rodvrgxWk;CrbQt2C3v^zm^YasIoxVM8|F2Njw6N|9 z<^e6uCj9pOFPtxr>wg{ofPhx0U{|5-XvF{1?~?0qJ89wlzqQj~LVG1{K+kbaW>f$x zYUhtQ2el^Hd9(n*$NE|UzcnCU0OyON0(gLz<(KIhjUK^CdN7w!wItn#F%{rarrvHo zCIq5a66$!rJIu*}3E?hx0?)a_d|EiIjLJgKqw5!rHpd632MjQSti8+p3Z&xTapuoO za8&3N^GlA;*!N#zH{wWgkuyoBq)au>7x00Dm+wax+9I|zZQuv) zHy<;OfRvLx%I0b2cj;J7&UABY0QAG0Tyq(9r@@2CFV`Gq#>^P{sQD#>i23I-<{y^B zcg;7y<`5$Z!y6Wwd%z4B{De7W)J2G>3KyOr!0mAI zd(W23Rr_(S9ADa~veH>|Sk}YwOYv)fyXHFFZFtM!33IQA^2n0ccC|W|oQ@<7pzF}# zxWwq<)p*e{3E_k>FwcCB)yIBUc=*gK zoalgw^D&}^vj#|=ArUn@zIqMotRQ2HMVDF)ieaD_avZp`fV;qpYdCNlZsFm^9q^lM zNT<_I^TlGrrw(bbrB%HBN$heV9hM%5*9qi^b9B1eSIEz=LhtZ1Z6h<2rBxfhrkYBz*oUFw~-ykkpi?iM!&Z@<+_PErx44D?G zYmaP;(`j+d{Lh8vFtOS0EnAZ}*rWv;y}?E;=jqri zE<)c?y^C&8j3TWV&KtxzwYa<+#N}ym^RlxXzia4uTI8%7B%Gzi*>4bM*W#w!Aa05l zH~x2V4r{@9Ei&tOkys;ZahW%W%hciq-XLzE7MG^Q`C2s%aQ{}_@3=wY{aWIx8^l#< zag{fStJLBuZV*?Y#cjDR&Ov>>MT>M@7fEq0EpE*X;?`(!#af)Nmc@Yk*OKM@emt=p zm1iAzsN?sMI&Y+*`39LbYne9PAg)P^YrH{RqZa46CT@s#bbGYO4HYiKE*=*`JA4`b2{(md)J#&g^B$8_2y0?IQsD*PH$yx zjNCaBQ^X^<*!qe&Nt%rP^C_~iWQ$7~^NJb!&Ks4v<>oI#gj{9JPIHV9F%{)|74K$P z>_!|JFR7rLjZ^uecg)GyyDopn+(&}kJhsnV7rYy!K0`Cq;F;5D*?d=(IRnS`cVo3# zx)R5DUdMSDocz_lXMQ%$7FGHn%xFC~=u1j*6jDONAskhU9n7(KM&>p0%K z0>Qu`c>fA}<~2YGbkoaO@Y~^^1NeFPx4@5M`YrF72d6v$vPcs(5M*^Y69B;#@)pQ; z!d@W`iuoRUG3`9fr&pV!0?{N#KjMq4v4qX#>#NP(P~_q|)Pfet)AiWp%;m?b&1Jz< zGu6g|GsXm_?N(s!&%i^a4y9OKh=d=Fw?{5*O>Ezr=u915{&M}cpdS) zo$Eg^uehdYQ*agL1N1rpBapD9?~nBD1m#$*S+AF<5}R=~6l<-9{pQKojO2q4m{(mx zq0-Ke9WdX4Wmx>j=2-j;{@9#!4MsDL!+dPcK;o?*oA1PtlFJ`ssdt*E9K>=GS%geU zP{tiJ9}+^*D1!u7|99{^U?MosUazDcGEb7!r*L}WvEAe52|j1 zx}QPa8?myclH;&f@gGKEA2(ak*PC&6vYbl|Fo@(R^Bc@B1)v1M-3;#~Li}JGp$X!q=#C%E4?55*LvoBI z=W~;)aYwzlDL1L=k2Gq|;Q%&{s2#~QmJoaiVD|zx5U`mbTLWeok1WW)gct+<+3+8s zD+{0z0DAIZ^=b%qmp40Ov23O@oq5>AJBeekcqtgarZT0t$$YC2@+wqzxEi=4aA#iS zr+zf2OMilr8-Ns<^-9b|^Kc;;fUtm##vM=HuFJfX&1e5)ULOfqY=A4c8Xxb%0sdaq zIP8=^F+kKYw%iSFvL7REYV^j>g!k z9*B*17Q=0VTlXK_HpK7LaHjnST#7G_<+~rUbjAoh@sQ;qbfPkRwk1OlHu9wpTRy`) zG+_>6QI+|RSnf2yCa`y&B}WKGvBNALqx)Wb&9DkpnQtkRenOE4-l2vM&9|f)FJVHM zxDzI{TX_SKupHI-Q$+!2H#oGup6HR?Z3#fFzF-Et=FDi!R6Ob zI%SDpdI`?(8IINBX5-~7Tsc@|dCW%+(J{WGrR{fQIqt|N@uJ0+H*dEE(5nf>C`unZ zM_iFT7GH+Ujx3=iOCm^P%chbJf2Z83!m%PU?F`4$DZn2PgCq4g*{Yw21?`iT$su_B z`xww5}*)TVm-P1OPpn_fkt|w4XXR8)Rz{bLmdtO~>P% zJo5e~bXguwD=xK+p*yzp1n*^CRqZQ%aei*8Wn&<&M_6$2&0(SS_j(8M6W{BwJVwF* z`h$A;sVDr9s8x7Cu-Xl)qwiKF&KVZ3ySLSWt5?&Vmcev`qa($gN#Ny9%l$Mp-;4xM z!zlS|Z}OyNmc{2U|@5>P^DER2U@v+gN+ zIytn2V7Efqp~sJi#1Xt|S!n4KR8Ef-=nC;LUiC;^4=l8Fi-V=$Lv$@Y14(aX0Ndm~ zjkg4yxE*?$M?P)215@Vor!CLID0l8@3ntr*Ja~mAlCx(lxB2|`XDs)?zvCIp{a(-; z7{$9+So+Ylh6~SH9t1CrTZsWllk3#ye-h9fxCg#XEb#6~pa^y8_pD9P)&7j*oXbWc;(<6YrGo20=I% z{Qnc~I0`)nv~?(K7kj)j0IvDLc!%@IgD4qX<5aKP1Am1U-h|&Za4X@Q8f*@J$HNVT zn+75y;nLt5C%4nsq|qwHZvosaxRC@S960+FuPeUK0YdkI03xH|n&7X2oAN-s(*j3@ zB4Rbue(wnGALsA);V-#CI$zur#AP|?-~Xa>1R(SOMdxs?ydVAhzvj^YU648T^Exnv zufOTHR11^;f6O`lCyDpFrHTy3zN8X8TP1}S7$vGGexe!QjGvK$tRpRbMi6!1x z452xGgA((+rN3T6AOk9bs~}sM`hulHka!xi0n9qbPxI||6E?cvwk#01Ws{{lU9umE zYo9RsY|`nhiN~=Yv&r(D2w{HgO-mvsw3at51B65+eY@os67eY&mbK|GU=mVI#+ZN} zoYm@ZVe%nuhAy8$dK*agA3x1hD_=*_g(VluG+*}1XdSBm8zzy{%JjckV)e*k z@jI3~)yr|aEDvFBNmVRQLKWPqSSAPdo)4+_SiJKL+!pvP_`PzSn}+a^wsa6Fp4_adJ zR7c@Ki%mkB0oc^qlIc-)9JG8ZV3J#V$dWHy;&Go^qC487iizqBJY+M&E?*3{C)H$~ zZ*`2tcI&5>bYLyJ305yJ){ajtbAgrMzA-J67i)ssGARNg`d-CDt_}_(OOMHo=Xb1Q z@jlgI%c$O<&@Z2IaYa%t33fR^rAAkzpgvY6qlo|?K<{pKMb4La$2v&ceew z7ctIWSDv|OsWM^+kNKD72@K)te_8IN4Vd677TiKthF-CBGYtA$ymQ`8=q+#+?|9u< zz|O$=!oJ^3EuO-8@9_1lr1>icS}i;D;}m2(k!piw>~{Evz)z1Pya~Sx+PqbR??)~1 z7+_^M!g#W-lF}vHyER_|ezb z&6+i9ty!~X_G!xxL$`cCR4bGVO@-z{%O>lpFXTy{$}g<9$nyQ7z1g}pXk~)-bwz?! zT_M(Ow_Y1OIYH|yNm4LU_|lttC%+J*Ns=t(xMQ^b6){>NQYlg;(k7&~6*1b|gQn!j zw`BtnKmjXBX;Tt3sjp*xP45IvMnPqjL)(Hh6y@Wn4u2}16ODWhp1D+pq#+TKYLrn5 zTYA%&$dkw%L!vtRa}P++c1;mi?y@@iAxlLB>wo&&(!2j}YGQ(h0a@n7JMfIK6vz3V z5qXBj1c?i;@2t z&yz;}7@i4IoRlEN8!15&3-(z1MBUcKrJ`vGn(cPbiuB^3DdirFAk;j}8>=~Qh}DP! z^_m1Nx<`UW%=w>_DBEwn$91)@88ub@*40r4@-*-CR}~^j1Ln-T`@y+${yz8ad6Kkb z?@b9>PicDZc+K`oj5gZs(3(|;rhu!nEU{V!(wV_1%Z%5GF&7ON9NJ_#R%6^LdQccRi4t8SBvYrlN3Pj8?_b+01(%x|e!h;zdVHa@QSx^>?xQD{IPS zc(>{A85v^FSJunr?>v^Tt)X(CqwzYurQgSEq0|(A^VK-*7|Qh*{L^++jQqx$&?`A! zvqW|k_eK+wB$=|l7jwR`-tRgFs*$E6d4WN1jeHxxWZ6W*FAd3`bIVEEb5Ao z@G5!ZqIK<d+pUwBspM|K?kfs_iE~=CDZn}{BD+B9F(SQj3vpUO( zc@b@b9y z31&wYwL$D!SGvJfY8W4*X$eTZ$twB&y!5WbXkH{LxoYm*yXQdc{D0mw)b~Z||L67E z;22FEg8E@G+Of5gbo1Y5&U-L-zLGot-nq)`+&Mz)#%}669E~%P#{LD8tAS)3kc{`V zcVj)|plbn_4WhC|STMV`XAY`v0LYEL<`eIp^WZ<{2_={%iQ-@u8Z;4gH=%BlSQiWq z+zjx^D7rhbL^31ACX2zn*bp-`4F=FsZ9Ki@F`78|t}RhsCbsrs zqpmm*qgBKFS3T&^9(c&1_5X)MYq}Sx{_fBw-Vf71%a_iez6tqeq`gQMz_iQ~V`JDr z7p)ZNaVVa@-qQ+QUs1EwNPuZ__bY{7bj{H9N0wDVhIw0S6N zrMgdJv|^;YnlQTm#AwS=HV@CNZO9{?N8K)z*@6EU+C<}NTJX9!9m782?ilUlYc$*l zPqTx)X?3B~W)DOIsTmDb5Sg_N*5^})Hgz+Q{s(4kt3#_oip6^do@qup4;U4&g?QKS zoDA5}H8GkK$ql^A(RmYa65cG}-G%y-NS4om3u!2l>m(Xi126|K!N^nkGsId}g0?LH zVMYL#y*&g21--VqBU8HWP&tF$K%fkSMk{T+E5-^{B@*5GPI| z&HgM#JM&@8|HuhH7cV6)8dKCoT<+g3wa43V`~nN?w!Oh}F!PYGq!c-A1< zkhfsic09d!Z$fHD+KbeJbPTB#sT_#}=h7j!p}cFz7mt|vBu6CmVJ`-4fd(MW-s1V7 z54&0JJ1{{jN2)>Ei`0e`ospnrAY~)XLMle8&hU&(W!Ezo^2#7+7Sb%FVk9q83zB^> z+972l%|a?dszz!?YD0=1lAvWF%|@z1YC*COMH!M4sR*eWX)jV6Qra-M6i6D97pV=& zl{OrONJU6BNG(WqxJEQDcm4Ch2Op&j{<2*c*CU}-U4aOJw z%9KTz2&zL_8d5CsdKqw}QJwL(s|t$qy2GW}Lu0jPF;g^)%inNl)7N8$Fe8;n4FF0* zeJnI27HX&>Kl*hbK|UL0cEH-+1VPCE*(|Of5c`+2XiTDMAnR~l7OQPSdZ1gZ)_~L> zc?Buk9;;19@}n;ufjqkQTbI%+;VgmliRgyXpBVvv+i_!JwQWd#eLSYdYE@UoYJ11V zYLS25*i)9lUXZP$FjFHv>4UL|$+vk%4q>l_Bt90WH9Z=qEuSB!okV&7d0Tb7HX7;V zTW|;7674E`=Kck7+WI(DAcz zTIn;O@r5{TTTz^rg;cpXPFt`vPMeSC(84&a|MPL$88og&YAFU$c%~s0BAyT4X~V09VIpIo>#J zGSc$;IIXQtd_Ig2G5*hzVfMf`U%fD0j41leAaQFn?~@THN3Rvx|dpSEcoiRGko#$ zy$WOEwOx*QEu)u@_`x&+`b&%T6^y<&_n&Ea-=@F|Mk-E-*XG9|;b}*j7%$SVVRK#B zB2Y8hTzUT=K%H$x+_}KuE$p3ZlqJ# z4*Y~C?G&&*P-#zKh0l=&mu?Ue{BadNw*)_1gLAFIf!5$Pt5Z5>&En*5Jj5Q`kUR z5w%m;or#Hn92l`ilCmoZszrbA-}x>jc}CvK9^rC@*f@h-8&qL0{Dmug)*)fKlieIz zVf)b62lZnw-dQMS-pO|MspwuWIo(=sNeg?IDU!?L@~q3 zqU2ohu#*i=adXA2ETKT9xPt%Vnu%XRfrPm)5ORlB`idnyK(I&8=}siv|^;O}R>gT%Zh66CJI zH(R5Gy%`ahu76y2vru`YSb8^$a_s`*(Me$iNX4~NWHs8UoRO53kS#5VIt`Mf(9h## z)eb&k@aA2)QauJzid1sCQBvnUC^b|0wp_(a&t^RJ!70aYNbBXFF?qOF7HJ@3A5RPpIj_?2++j3LAGY_-PF_OL1)H1+B19}Yu za;TDcd?p(dS!R}0U~C4ZotU@jm|qx_8&x}9G3}bFn0B1KR#t6JsaaBa^VV!xovfJj z0k&a)D66OPhHP==EH+bQT*W9~4RVvUOntQ5+53AdWtV!R@LL2kvDlt{)pDl?FuRp*}?km7TnHh;ywr z9dH(f*X*ib&44M3l}zOdX4IiZ6@MGh?$?gGBx*ww^m>S_PJ{$J1fqTY*-KE~a{}J8 zR)s+tN;c+0Vu14u((v|MQ6Z_Rr)|#EW-7F~nLdlt&^b6xqLk@$vznGQtajJI$jumI ziAlVBAG?0+PX=RVq3<|tjrKb+(#x8?D2K=w+a!A}Qpsm{Ct6}LGGt$YOGk7QNbT_aQ7ipv? zFm?Wst^!3ER67l<<3fjv1|*!nGDWo9!y<(G0831S9hnY-o>ka>H18GbH1C+59A19Y z%W*x4=+oDVf(O_@D@@+sa>eEc*xRyG-1i_$lDmuN9%RX~Rs8!w7T#UD!#7A8*gB_Y z$AgTStu;5xs#PRD!4jxLOW8kIx%{Ab`5){~)9H1h{U0n|zCrYw!}3kr*NG?QuxY0D z@nZiRmUP)PjC``fs(%_U3)dVrLa1|Dv}yl%F>NktN1}ErYQN~Lg#w9&x$G`e^CXcz zj}14~PZD|a*b>u$kHo2YYzm0J=AXNTZNO%+6EJJdl^#Ixi{pG-liU zH4KLgJ&uPs2EjU^EHpetQd<(kiY=JJc}cwCfjqJ3VYVR-qm4r9i4 zc$8k8C(<8BpLt@&N1nmqqRfnz5=5PGPU%3@_eFrVgb7`2_rQ-vAmg7Ta%k4klbQy4m?kbHM1j)(+&XLVJR3 zVgx!XUyO9Ikztho8Fuo4e5u(eU*uv3^zzm^UPD@>x|7=g|FFgm_}flf$kzGu-3r(T zdj5fY@p%D@H_APy3)o1LzhdxHEM)+7a2B1-LTA!wi+QRO20)b>;3k-5tw?(Y&uSH*BMeH>3T<_ag<_UY6&5-@XJ-mcX(m6&eP5>wOFJWi@ zjFX3+VQ2kq4?N52{rNS|u|4TNqNQeVzW|)Cf4@6egk{x^f3^buM3fWEtbEU!=Naqd z@W$f*a}KkmT^uf1dNGG%O8y59-@5W54yV7!2E_jrhsWx$o`+v#Gfgp|JW5iP1{whx zSm)xMEu@35(1`eAWj8N2UtyhBB#-RVIqUrLX0zjVGXbvKpW zl`rk=8?^GpzA^3>AxaL}$!hlrS+Hn1*%KpJcbO5YS%<}dayEz1nt`^Fq@kQ0P|$rZ zKN<6q&5cBch@HGX<^n7vRW%jWDz3Hxeao;lbWJt1kKedun zbCWY)v@c`#%gJKqD{Pc4+1!MAYrIS>ECaIoS6DyPoO*=~_Ty-ro$pCs&PK{3K@SHO ztF|h7H}Y1}4jc4+-eIL_YtYK2P0{Y9^H(X`Nn2k3z*b1K6MWGsvEo%MI)_F5t1OR( zY@VMl(pRv8E0B+R&oISp5O|wAtn@l4$Ahm)YB4;5z+M%i1!%8pfpmCl65j08ZDxakqrPpEF}F5tPm#xm{jf%gL95kN%xAsl{)8Ezkh z7Z62&IJ?5Y;Xo%g(d1_RW6r;b(V>nkDB0Wjd5Uh57UYZW70eNe4yw@nWq@p_=870u z0V`c0rd6<1>b@Mc9@M_4Bj3K74G|3$%pO9rwm>(t(&>A|!3q{Z&>End0KGzome;aT z9(5(NnB%~-s4ZX|o}m&LlLp36r=PqkscE9(EiB&JYBn?uFr9EVFnB)ToPc{nhr?Po zL|E3a2wI%X?mQ8{hQ(hQheHl{MNplr1Ni{RGpb&K7jR5mMTQl1{MZCCVc~&Li7Pfuno}iLt@4!6P;9x+|>|M?^~?7Q%o_aP#TOIa1#J`W*Najjl;<+fDTr(9Co@LmL=B{^KZsw zQaD0-JAhv#U_}hx$kxbPJo`4XS=PE@~!fjv`BxS&IWJO#DPWTH;Z_Ppp1bKJ?z zl+SUScc=GqFOANN-n~UsY+=3oQVul}VA#|0qW5J#z4E0TSh@)|_d+Vq#&e?EygVaM zoZ7-7b&Oemf>G5mCce*l_Yc50@qfTLH7|O5w)lAq3s3TqmfQ^Twx{)SFLa`cI;GC3 zZdRUH^FE9JFSuELxF8>#Gfy0SpB<35h>t&DS2JolJI~X-j*YjW?3PcMz~jeH*uWT6 z^+eKVVlTvs3~Ja*62b#wcoSTTE#jpnHl&vy%nSLh0oVdC`TJ6Ukq@0v_64&F>!<81 zxraFTDa({)an)ALWB;uzBKTZCS&ftIB|(yXqi88I_BI}ED+@Boxt=B4*di0U3H^e7 zdz-%-QZqNYS%RQM9Lz8UD^RDKH==eT$qnkCLw(ObsV7;W`e#rdLiGV!<~_}9o}y+f zCD?Q9*v`HRNenM1JHI=kXQ+3bsNKQ(U7pJup$}H&pwwiN`W7k&m4Gd#(C69=!_ON8r?$^c4J#2AAZqza<$zF!geouJr zCEGFn2}1soMI`3(<|L+s|Fm9Gwfrz_{!6MY*l*MDm!T{;R}BA>^$S&^$R95?IS1-N zj~CX7IbX5~a=Li`OSY@0ueKHt)kvG)Tp76u4cF{tZ&-7s)`oRr%0Bj9P;SIZc$U=* z+#+T_OE>L*-7|hanckI`q2dz}Mh+P)p=yn%U!3qT2yhVCaD;IlzX?_jo=%z$RL-mx(#dQn8^QdzdYf z9}}M*W*K;EKMe2i`_&@v2urbi1D{+Jui=Bl`$w1)D}4NS@SSqSgzwnMnIUT=^(t&V ziNZeEFkqu(1v?8Y&eZy^E0lUk9rt9cGvi4LJtd%?CIm(l3MuWP=e#^=2R-ACbhsYK zlbU}-`%Ty;!oTJbxk{rhPZi?Cci_&Z0ugzXjT94)F)R9?a+LLp&W%D>z8x`QhNk1m z_8JBAH&?uTl$~RXL7n1*yy7n)lh=a9l3kB3QY3M0mG1Y{><1yy#(p)rLR|QsO-i~| zN5`9$zrgj!8ZqY>8x@ipz6^}l3Hf1-s6EDRH|0v=t5ZR7V(4*Zk6*8$54X|^pwgOL z-bS-zTd4P2T$3yEj;5vD@LARG2;tCFrqNc{>7d+-Ii}JM2BU1r*3Jl#VzeR2=2GhHV~rz3!*Z| zlI_(dU{7I6D0*0Sf(;2tj3Qw!*$ip0I7Q3}ID3hr9lgktMb95t7T#|B5rUB@9{Z6E z5LG|0J~o4@hsEw6AXmA9okUE>ht-kr#FL*bi7@SBtVA zS*9Q0ELd_eHKtOq;8YjHp8tZ7=ZTk2v4N8?!=p|l+l#aEVA3F-q~lq6Q8mOYn{;d` zF(6psD^~5kcW(zDY3EmkIx?z>1Ufnenx^2kH6Oli$0qMYNh8zN~)L?S^@gmq} z-~}!{>|0zZ9s+#OU<{HZFGH;UiQU=vf7{$CE^meETEs1_Y~cU8l`7tBWeJv};EHJe zoDKCitobu)W5ESKwTig>XEw(40f_#YO-VAStoApvLmsp8>?9(-nD#1h^kr__^u_Kx7-ejmV0O*HPB>VaR1aKMb(Ou)tVs>X^AOkzJbNZMZ3V>eY`Cm8 zHT^~8%N0qA8jZCLQrj$f!wc>eq3d|Ez_J!RfM|-9v~DKn8a-M|+ZHNQvD=7NC7MK? zHVQMpxk|L3W=YIfFOq&?N!^hjrRGP~MkCz(pVea0FD%mvrNFN4`Cr(T@_zB3Uzj5# z5M!+P^%pjf*}=_u*yx>MGpKqLIx3kBMB~LvXV~9@S|BVm!865=XINAiLCntg$y^X* zZg#$i{FM!kjK$9U2E&w6_>|Nebu&;$?9N0=L`r^XcLYV_YNsXlteSl|a&t~ngj>xQ z8-GQBr*)+`^()JhL&QyISwiT)(6gn5HSa*A0!@k^6${U@YfW1!#MZMcDRhQWP3Hx$ zfyL9rA7@$JSai~FcD~iG6k!nN0uo-Cl)|0%9_ss=R9>5t)Uyh!-+RDZ6DL_~L9m+$ z1ko4Hu_>l!E5(#HHh>1~IA6!hCHERS4>66-7iDemlk&vpZERXMR9k^!gStu#{*C3M zxa>E?T3=l$PXETzBTK**i__Y?2SkQR{TBn=3=D(Y*}#xI3klCaw60VSi-+3T%;38K zZi8?D^r?WoQb#)sRi23XoyEsoZ(wZoVSFkY&r=v=B6|M8UWfrM z>ukvQ20)SQuI{MI0Pd3WZt=k%>_$^rh3I|(6Sx>V{0rmQMnTL0`SrQUC|!gfc5J|e#9 zU}|C#uLqe85-bx2Gq^bk77y>T+g@mMDhIH{=ClUx-hAlWOl1w~Vc8l>Qer?Z#SeF(1M!1SNjo}UYQhrdZ zH1YJ9MUO)zAds}+)T1T&R>#2_U^r^x@$tYuYC%44la;l)U0#qMwV4=uJo(tteH9|f z%&)!bAO-=gwpS=^KGaepJl2K_b+(H<)&=>gUW9}@Ptyq2=Vgd>Wc-w4_qE1a=UYfzTJBtrVJ^x6>fPkHowQg)kmL{RF$@SeMNnD{=Ex3#tiJ< zB2hI6RbC~m7)_%5O{1~-qxxvn_x+Q4$*7M)eWFoMG}7T;ARZNPc396}02c)~Cz%_- zx&92W4W|WTvC|0&0Q@t!y@0zFaOVF3&W(<%0e5FI&SVR^I!5R8w{&VR;kENDJ-WXw zF?1s$G^S8KJ_gH%wGh*BnX*QUK@h{NDfP6JY|0mTq5NnsKZB})pXj|BbSx(Pbmp5- zwgx-tqA(uK05@o8vRD(wACq^9#Bd&sz52*-K2v^QRD|=#r}z=I0Z|hW;b6EV%pf$7 zgR`*5q53;f->s`&pWqCm?he$M^*Ya-2p%TuAp-5NXGu?qjxY?d7i~-$oKgYQq|lut21N6tJ^KL;D`vCO!s>%@u1D54#nZPJcUUc%kvKlm z-SqCwRxY%7ZVUSc!|o4R>W}d1w&cj_^j>t1mE!Tn^Ko+8j541j%gPcB{$vtCA3!2S z>#v+zO3!V{rDcw&bW1N?Fd-_Bxc0 zcBXpg=#U)2qsgACFx((uTGav zQybBQy6aHqpgPjWfgUxDe=VC{?DOyB3S-mV(YS&`@$ii+hgQuW2aS#v3W7r`6h0BjW z3($1x=zw09KZZ~?4358UuTd9^x}}%YQ7D1h#i4G=C3R^=T|DZZH0u2H(i1kS&#Pd7 z&UZXRHFQK5LNYPPN6?_!uzE{xil*4Hg#pOCDNk%2%pVKLrv#m}5Jn=wRtCe( z>YXRGOU|_#`Iy9)+5-}WqKa`QP)hL-o0e4iol*A09!c#OLkpTD<8q_WvUrdk?s*!y z%u-4{E)0}}ikGwakT7%?{%n|}Hsyttc+p*pQyj?RGrLpQy`8Lqy66p0Y6QQ!x6-Yi zc2=}AFIK{84`5XFr4iiw)~H2kl9V{kV0@XlUsDM&0$e4BA&-!^iL)rjNfA-BkXBY4w+4iOL@`J^dvv!SWmBe|oOFir2}e4{jIT zuIBN*&fbm{15Vh`A39u;a%?F`3LW%Ehf5JxmDt7z?P~6g^kDLjD7YY#$aay-cMSQB zdpuLd@fZuSHuUiC9j@$T@mMxrri=PW9D>p`n|(o_tUA&6I$r9-NH-}qPvC=OIoC7z zdj7CQt`)EUjjK2mJMlN3ka#$5UyjXpga#H+h-GKh(<_%!zAAg=(%1@-K9T<&(90(N zH#9*;q`XSe$DD{tik*aSWA*>fw8G_j9xz=yT&^lf}3d)t>EJPkl=eEFHv_yNl~ z_Fp>M?E!_=W-BS)1^J$m+xbI5BRl6B>K_d`pw(#KgI(6#Ur#F%)zgZ!U9T4-@8&nl z6`tqs=F_?(PJDbWzcq%yk@To_GZf?tfCt@&i*AXYY4afFu0VXGL4@z&d;hyX8|a~W zq6gow`Q>s1+J`qKMwJ#r#cBQ*Z|$-!ms*u>Uvya&v>~g~uXLDE_<5txtoSK*qQi1@ zI2j#ILWf$SXZRz$hedXZ@sIN%;Z6mCXGw;gFfXS)ij=fNL)A~A6b z%g`?idDI0wMDE!_ZCJDHmI`r^yGe%ow7kWW_b)!v5(gThJ~TL21XrAv#VF4ZN*3Dl{L^uUA%~Y}s`43f-Ak;71IF8Z0zgqo+%Yp@@&;`&A}!TQWcAUHB>jHb zaPiy=eEKy?RB4;BXkCTA{fpM6V%5;pC0136E>@*K8D&LYF`yV`9J6WOmMjQoL`Cauj|Trrs)@_C@AMCu8C z%FHNhL74+(!A98yFZKgQncXP+4Q0`=OavEUl$}9YmQfaMl>LOVsd-_pl6U~d8iglN zI3IvirWj@4p{yKbF(~V8l(nF&#wbfO%DzI`UX&#PuD?;X2W4$WS%y)z9c2m*juHVk zRLS;@cpD0{jlwJg@Dr5HMj3HIHOlHyR&JDyHp<>dS#`cR^)jE-4cs$Zlq7FUzGuQR zzDyoF`y42MUj+8lpQ%gL9WDYoQ^&X4dbwX}&5z!WKo4ue>F8D@NgeZ{-}$Nq-28k` z%5wgYOqMlu%N}f2of;XD#o#KPn zu%&(1={fWoPnRi@H^Sr`;K@l6krh0i0;8438?Wl8;THq868}P!EK)C=J1?RDk1u zvS~5vbIpxLldY9}cv>Jza&8T38W^qs+T2PbQ3ih1i-{kz=*U3mK0au^{-Bt$nm>uN zw*9O52}{&PB$ut_Ps123SrsPCRC=`C_~2c!;%~MjTJddy zZl#-=?+}aLKvc5v4$p=+_(mQ{V)Q-yTRS#Gls|&}-bByCZ}SOqg!7SJTFw2vwDm~+ zk*DXyKDK_npV_MM34g~Jvnqn#;RE}uk~I^I)R`PNKMi}SALk;(NxK`2zInTjiM5E2g&gQ;jk+0LhN zrwq3n(>L=g$M>{p?3rl2xz)YWUWm_*3hB-n+}{@^P1z|U;9fzv5DK~k7v!iD*M`mf z#*lgl9M&3lB#5jNK^~qeXNy4|9%b6a#RLzJiTeaP0j=I4J8{U&H4Ct>$3^f4<}T9y zBNlpic;uHrg3&jnwOAVvT-UG1o^ptF9zN3*iV1dB^OBgB4p+?(gvp1)SHyeGDrX361$qn<} z$vZ&Rkly)`8{<{BQBv9IdG6%XC>s{NDsof2#x}u1pTX7pGbqbU!$Cv5mu&{>v$NdE zjSsk!&)(%uZgRSl51@X;WW?m-C0>Iw@;2O#Z^INU16#_173*btaaOX+=Ctm(BSElO z+hF{V$lbMkVDAy|6TtH32t{rkZsdVW|DeZ^!^S_+1#2G?oM8?K5uWE|ElFvyHrkPo zH)%;2oY#Wo<7D0pSp%{&*3mOe2A_c;xs7Y3*7lX70vox*Pf)tLV zD5m0Rx6u|qeJS7_83swni*xVuP88o0HYgp$A`0!9EK-H)<_ z-T|ruAtiy!j1CY;2-`0D+|?mFJj6!DWVd3jRgWj}SeWUNpf6_uI=M+hCctF;cRz@~hX z{FHdk%byhLhukYaC**oQSH4>Ov!37S$_P+Z$+?E&<0cT9`P~#r|9Xb<{SB_nK83Z< z%g7Xu7;13kek#MAoa?^vSw#%`G}Io})2(&8P!~oTL`*>WnOHY#Cus=3v<#y zeH;^?e#GCxP3K1&_yo%t6pK$9_*JeKd~ltol_Z=GL*6k4KAD7(1Q9|=+BX~JG-;Ti z9jFh=F@%y9jBcb#u-K?S5Yb|;M}5LLV*=66E_wB@iLCQiMen=ee4Ra~XeF(RLVU~* zUd2%WfYW4`Aj$ffS%o7^sbM`2^RXsM2Z-c14$i6V z!&4e0uX0jyug20L?Y<#eW8H8UliFCs_D^{D4Mc~bF}tZa;9d8DBYJc;u~K~&4#+Ij z25thigR6i$jM8?hbBjSuJTj{9ydO}a;xa>`b$eB}s)fYPx4D?n#AC8@(4N|2*&@=d z6T9BQ{;7+o%x;t+A6^Lq1~;TpXvcXHzpV&myuaAj#FGad=-x@1+1@n_og?GA-s@%W z)Iw@jDK7t%M};(@*<}V3+~THBdARFxgJ9}>z2O5PZ|)y}1w?#U428t^M8rR?8iI>_ zI8K&}z~|=merwwUlc<_L3}nF39$FOPL~;x@Ora9vUJCbv5%+kGIQ}V52s++FSB#)> zB6KT)ir@NP!>QRxpjUC<6Hrfg*F_>>oT&JMhl>SUxsATSBGKPH0U=L-TWwuzG*^m> ztvKPi1jKAJ21pJcW^5;#;ljF4B3{Qg77(DFO(*_)Hs?h72IF@ueFM=yQXqTX>2S)< zq3;5R?sTI3A#;||A$g#G)!}-hLqZf_(CcMq##2-#bP=Z>=&W91^)bjlL=IDmouxjczcBJ6|U$_ENx4lKWunq*xfU z4oj8`c!H#W<&(&yb`ZmE1$apyRml;#+xU3bsLDLw!u2}lN$*fi-6=^*5Eilqixy3? zdXXAp+)vAzF2jykO)0boETk4Sxk^$rUB!qvO0qV)NS1U}F}E0lx1gQLD-}sjSEcqh zxFHyUZo`5DY*>(YI(g3FXZ&Ie?zDnCa0F_>qL!G{vfQ}FlV92oQey3M=0Z4B$ z$leG77^FXW3g(Hs8}(crfhLd zGtY?DDz)=)(@oMKFKUQ12x3@?T^#ITi*P{-9O^3Vy^gwQ8UR5I?GkAc+wj=V_oV%k z;Q|G_amiUS)!UsEIPty)m`r~eZYSwwlLMSksb!6Zn-EEW8-X;8aDI(j0mq;wF4|5R z4)#S3G=O-5GUCY=EXNjA(VcCSImlY%K#$Ct73(Mbc~V}LJ{R*TuLa7B_X7#a7*DJ> zWwY$8Ng)sJQkmVdGi@>H9AJWilS5sd+X?!_)hcO`%4nQj9|r`_|W>;yZyH_ttW!Kun#0KwNSMEh{{ucK|{Oj zXOjgqkXkJ?VVk6ysL2RR*B+1T?TB5tENBECu>P*om$;ivy5GT3Z-)J@+3Tkj=1=y{ zpoJxfCIeJv!;>)TnE++>mxOB`xaiL9>Fo}f)FvyOw4$?2c3Wv>tEWENx;WF|qJlGB1@$sUbTN=ZQftld>pi46QgdtP{-_&_ z@*t=bEtR8A8lDSnxn&6Hw-LI)>Kg;P_)LQdpF~n1HD~=^mq8o4xh5?=38uCQr#^Zt z?}6XyQV?rvT<}|+okB5Y?40)eR;S0n8pV%$5bixGZupYBuG@AFTQ-W&x!u}{HvN(^ zX}(qIBvWY|)CL$}F+AISKcEer`P06O_Guj*=Gtu0YcIcDUM2pymtUK>l(4EP`zLpK zGkQd2_3u6!t{30zOoo_J1|S=9Hn&-!%xBFD~zHqQsN85hvT1lBG7z0Rd0BnA{3fRI#d?2EL^up&`s z*bg4U^9WYX_V(kInm1gF4pXPsaAmDl8?Mu<~*C;OKrH!JEO>pt&D`b z7xudlgIWG|YEztdy1Vr4)CO7U|8)7L)Q08nAnzRbR4fpZEw9A8dsAu?#c?21rKNB4 z67PGd?c0zV-b?j1AvGiILMned)w_ICs@MGv(q_Ky2_b)lVCuui5Xr|FaU8V_hXUm| z@GK)#%irN8e@7jZpcwRyqVeS*_M|V8h(FP?($SG%?tlV>d1qA9m}JdT*&nlsAKlYe zetjQ=n=$x#6>`&#_S2&k(n&KWC&TA+jSZ(?svytCA5xH2(;;GPH9GH!&TWX!0C^Av zyZv#xIC2d%X$KL$Mtt`b!f&sNpsyjgjb9mp>tq{yJJ)EK1ATEJ41uP&mn63{kbzIW z!g^`edP!NUedvQtAd0fFOwf>N5u?pIEn@mgibV`PH++W3Bkai`eb~4gZwP+SBJy<1 zs%4F+{+dU-zJtU-PfH*Lm9bi-*4|NPi}qU9)F3=egGBTH3Z!R4=P8hmQ?J1tN{>aP z)3785WOR+FIU?gd7D>>PDRijdWlfM_W&7*JIaG-!=sCVYTZEr zp@WxUR|kcr0Uo$a4_^mDj?hGwN2}DS%vGF4TdmO~{(590A*BNLbdAb_qCa**m_98W)bCgFA+9wHl z6apZRT_@$dg6a}SD;S=nw!Nw0h z#$IB656Qd&>;D1r58yW(AmU@8DewgjTPUv`=j6M>=eoJzppdiMf5@5 z+x6>(I$izgaO^blHc7(PiZz9h`eTksiXpWQdWTCjnBGTWXfWtSG>@uZc@QO7g~+f; zl6Ch=g;Ow*Tr6xl$oYga9w56*hlGfXx5K?^hobh|MN6$c3_mEZO{?O{YOPzCzQl$H zsK^cu&t{cPoI1#3T(S{93~P9lt)# z9}|aXy+@Y#et62|(}Oe{#4VJ&E45&**)Z?g z8$QE%5zFC3tO`}9k>Lm*XRM{jXHM+e#I)g^7V*r{Sj4l$O|s1aza?pZoOecTtSsKhCuL%{oh<>}Qmj=(r zbvnX0rUW@a+X*8(t?SIr)mWqT{dlLF1v9EIE7<|grWuwDZ98EY)_+=N;HK|~^f%RF zb}cQrR@$ds6y=}^%{yCXLs;cBdB?|a{)HdI+X4U1ONU8-9|k93*F+pVBcDmpk}OOG z9Y7OLsSPIoY?wA<5qu|+e}bo7Gok}ma{~7{mr1;AA26G|)5s$$q*lM;9lbQ*!&&`3 zwAJ@M{A^tYdKw|No#1`&{o3ghJgG0(Uxr_NY%*)94RPv>LW{dklg-_y0bUcGW$PZJ zJ2|TOAL5E1;0fM)q{BrY^;0wQ23s)e5N;hT5>u0l`dHMXpHUM7P9bUE9&5Nx#^}xD zK24-m7>fdJk7RfMcfpZ%%(|OaJ?JEDn@>s7G^7qiUIb7w1gd2FOblkYA0bKRb+SF=UQrzIvdf6!z^pd8#d#O`P$UDGqLtOF$ zllW<{lRP%$X>^3a71ID0iPul^A@*mfZ7)d)U`z6M9WFwEj>tkJkcG&h zD2i?&Z~+9)11;nss&!q*m_^k;!X@e_5|@S^D}gZMLLVkYVj_SOM(d$O7OK45g7oMRpE& zihL9pqAExh#XvTK>1A|F$~QiHNiFcu#s;axV+@ssX2;DDnyij7i)(1IBri7~pwBLQ zh@e)U+PBac578dwqkV{v_O4qe_z_D}FL7Hd_9U~!zgoHD?q%0YDmYx6ZS*uAPh#je zJPjcq)si1otbi&~KrixfM&1oYi$OjPzB151WINf^}wu5O(XhMNuQ!EhcdR5y zBxmAQ9R0}dVeitVk7A4NOkCuZ(xs2ZzVZZJ=rAi6>Ou;D5=JEXEEIhiWMajZcT?+Y z-W9dK^Y(7wM=AJSGWC@B;5<(X*@jQ3rEyux#ggep=ioKNV1^II% zU}Y$8Kza8Zx~i|sd^lYx)fGi4S?0n06liucY|-lwrdli+_6Th{99rLY;6bMId(?&N z#eIM9q+W;`gqm?rfqsz`-O~bW9f~RKFINA-`{5qN_CIho8wQavIfwomwc$g>uYd4S zE(?rZG_)Pd^X5+>KO`^EoR!}qpn`nqej0${+dvK_WdvVL3M&l9|FVMkvIT9dEdxl~ z+{L~iOy`z@h@d^KzMsWj*5sXDX>s>|n&xB!+F2yKOV@V&ZW**3NLDNW60GmdMyHu% zlE@s@5FuW+%L@DVnn5T!FlUqXhdDyq!u#~LN;46@zKd`^G+;5NI0%j3;Z=%8=U*8{ zTVn*iO(nDuMBYJmEd!R20`nHau9bW7JC-*bwzWWZD`MLPtvk1?LZ5P z)$z#~bAJ)q!-gLYinlqF{)2k#6i(CPO4i^w-q+XYi|ZnKxBe(L#M>fGZ=Dp4@wRx( z)_3u?`;(Rftea|~AF3!Kuo_=8Y<&^gyQc`b74myjB)!l2HJJM8p^$78hU}FU$j)KF52pzW3 zfQieP#sP@wBze*4CYae86NUy~sGd6MhtB?j>E{(Ny%*{OnLZ5fflR;Yq>t&p|9~%G zyO@3qA6Er3-QsK3$#g|$`opG;KZx2S+xQqKlHM~AQIc$X!eoA3g!Q&v8IprO{X^+5?&xiEgir{H*hmXZhIp#CEg|OIkN?#ZaoxP| z2k}8~NYCThVoz_|SW^so?qeH}6c4Omz!7kB1qOa#B;JWqh))4Mr~Dx9>tow$%HJu5 zr`QIY9;_1grGT2vCqRu`mu6fAc_+nobxa<*hNa&TFyVvcmH|(lJR!nTZR1T#PKar# z=<<0qHM-O#bRFK&^$v7NetL1^39&BKb|CEY9X_V`=W^r;u`CUwA3rG$q+uv?Pl&T= zw);$PtrdBF!Kh=$#i72o0r4jhB@P^t4fqK!r9LObfOOji*9hPSO#8X{;~w=(h+)%;WQH5D6nPl` z^;l>cRjh!BG*exyMoZKZM3YfDIjjhGg>B(#0I0RE_00f_$J zk+&K2w;|sQ`l?1pEyz+q+=c19 z@DZx@DUjh3!+z)|(GZ&5unzu%$-w(Fo!UT$ijsQ$pWlwT5#LYKj0Ilx36uZwcFYOl z3@##l#-qi@r@154PpmV~Hf~Vv#Z==P(e!*sE4nC&Arl6QSIo!^s``eYk9JpgX>yYlKp|YXIQips(Pw5V< zHYshvFz$FCLF+Ev6($FmA}2ktMMlsCzc;m3`#11ntNaw;XyFga!onX*5g3)bYRQ6x zYEx+!vk3czR*I1$B3y*`0z@uWB8*i{o(bIY4KnO3Hf-y#gsdSVXl0>}kq?Lc-AJxH z+Tnr-E=1FgN;TCRyDC}M9xlN9{t$I4exp1Egwj1y*O*b`j4d3HARbALKsAJ$Qmpsk znsF2eaPxM3Re*~R7iUL^bSLdO969=mfz<-#ao!XvO9;V@lZigAV68T{~@{uv<|ZH!+3T^z4@ z50$A#8Fd(kcn<=Ir(!XE;G+LvvNRUlAsn#=Knh)E8?l$hX4ra(?~q&cb8Hf*a1torZA_fU z(A#(wL|k2hN1`gJ#uSFL@me3v^eXH_2|cDMmuj z9q%Ui9`HLh+;fd@2Xoyo`Z3_BO7YEE{D{jb+~hW?aqEVP+@E>W2>;a|Nm8t&!6r4D zOrqIe9uCWe-Do43yO+Vs**>Q@yuY~V9Ck}X#XryS)X*iX(H2}c1{%~~ym^jC4Z9C( z1RS1X96dh?q@B(zOj)C(tkh`NDdRFCA*abK2l7hs+c}&G?E{%++%Th?G8NECx)=Hy zoy<0{Dlt7x=36WlbyrfAkU0qO>kSE#BTdN zsFfFXp&cgQOFO~`yYRcAHK1-(5N=q+LM~_%px+bMCP+JU!GOPkv%^=wL=vu1beKl~ z$Y&b*-{2?2fg#fWi2;+f$c*1N z86gh-rr(3NwsZQwJwWZX)!G)!3$DadmlxeLlUt;si_3iHJGy~{ZG;sfIS!J<_TxCi z=_l9zC-NPGHJol6hUK95j3ItwS@N&puDnBLoP zLBMx=(5Hte>%5_j{KbokcX|=|XtL7x73}#uu=@=pOf+ABCB1e8V`^IU0TDj>uE#Z| zbHf$uon8Q`Ta3e3t65c6T!4hqXiX9?jL;D7Qd4)31=FPw+%aRCBBVQu@O~7?JB0`N zi2RP);cuICliwJiI@B$~D8s=;@)_D;B0r2qnc<6;j-Y61EbyXy6d9=V;I4}# zmGlpYTXg-CQcscoVYDZ4|7sO<(4*^~nv9dhl+!YzWLO$EV2iRIh&tUeiT1nhw8d0r zC*1}?XxE5$-oI-*iaV4z#>I8`V5eIfB5TZKL#A5X5@E}fTg7t`wq$&%{O<@`oqS&W zqbFkNT>>gMnX#1G@Tr9b7wlfg} zC&a#6HTsn=Z1``4X2Hrg#7c>UWEvz%9F4SfFN?B8-&I0dr?6_W#HBbvM?EPJi4rF- z%0@GwixN&}u_{B;8*LINqdCg#H5X<>F_0fZ(qO@uh%OqFP32gX?KSY|iaZOVY-428 zh=Jn$XxsfM;pm2%APt+0CfR{(fUy88z(a9kFWUimr?@=EHiWLq*7~nOV=X#`rd@Xf zF^v<)Vkv^B=@0t+20KJBNZfzEa4ld!J%vk%;){-LRcepBCYQ7i0vsLP#_Q3hOhTZV zny3Fzmw}-bVM?0_AVbIw+t?_&jyYl|#-bnFVM_I-ToaE)+G1Rj|3hI0zGEjAKERo2 zO}z6v{33~OPZ2sDdCAD%hCKaPivPTwSWXw1hMep=u)4$2bzo)3fmQ#Lz5^@Z?mUl2 zgm4E%5#h_ac7&P$-GTMScZfy^9jc<0#DoyFDc+K!GMtcIdV4&y*9Tm0)7kIJS)EWkU6 zQM3RfKZ?wb|8NR1YS_QDH_hGpxh;6cMUMT&j)K}Yl+hy6w zYaQYylWlE&z)BDIV3oG?M4b(dH^7nBPl_UsP)NZzDN_FTCq zj*prbnQc={@9Y%^%(fWQhP|R4&!n|`v5UmHNuPZkuHucnI2lh|3Mx*-vwRaTPS_`g zTWn+HY|o<>+u!8w>i|!#EmFzaePWN*Hlced%CJK(qq3#@!~h2T_kAWNFx!pY9}a+@ zyHDW9-$t6oeI^bukd!S#xGmMR*)4{1pcxHNM2d7YBld~sxo!LvsVIxqrs)yu-UewP zZy6ocg6uM-nwLuW(Dje4ozWRx2Ix#PLxkFFx5k+QDCj^Q_muQCn5Gsdxjk&X#0r}& z$+T^&sJGd!1XXens2brG=|Q%b?qA_>2kv!orH8xsekmpe+0whek1{_KYWIpIK?s>_ zFv@_o^EwF>vYwbi?bqxT`-5!prYE+FcHoT@0XPf>5?NNd%sfsE>SpUV>~3RFblt23 z;1nGJNM{su{kyyf%T@6+sG~q1ji|p^+RYX|;7JtW@U>>)|5x1G$2V1E|Kqtyn$EpR zOZq^cAJP=sQn8fhhayx!tbl-sJc*d5iij*CB348bO05-H47GL;5kp`Rk;RHEw^kNv zt+j$;D2Nr6Ed{ZnVnr6a$inx1Zf@Fuu%CT>f4|S``^O|RXU?2?Ix};v4Wd?}Poh$}$eu{Z;z zJp5Y;s>VHE@Jpd=NcQ;7ve6V8PdYj?N!XAg6)782E#Z$sSs`7Y6+I?k4^IJClj&PI^ELPLRjoksz?!q5&@%`I3` zkHMhloCTLe122dw;x=xH(go2vI_FSKVX*LH&wdsg_&VAS(Q-rjOx09rFv`_LYcWKs z3gT__HVjRJkJ3TZI~wAGAn&bcJW{F961WO&kfG}So`=5;9pFFG)ZjCqb)>Jf{NSr4 zNfA(Y{9)sJBiKuTltC*HYAE(3?UHZv)R2fhJl;6&L+L_)@CgF6zoYj>Yg7{^dV#7^ zHDPLfRnuX@l+^92hwUEn_;%lqTg>GRDZJbUcK3QVsc-Q?4D#?1DCW7f&0;<_o{`mxi&2Z@c&KWyfWdWQoC&6KXM+ zHc7j5DDg zf8)n)W?MVxxm9{G|AF2s;PXIwBe3DA;u}V?zQUXQ^O5YKaOxAf2IKEo(-Ea(xs!VK zb6?L^qG#(5b@uG9YA<*6Y>1x<_3YO?>=xEHX*d=qS_SDruA%Tl0`}sY35^Kv%KMVr zZ($?4-wJV%SVe&ToBj(B#<$OEp@3Dw4hr-4A7*$fCx->aH~RWB0_{)z`V>AwS`C;6 zZyQxSX0Q;KYU}WQ%~5Oyx2b{6qu4Bk^XgR2n@Ou9IIrjvh4Uhpw#Pb4e~Wdt;r|o3 zO>ozGv4cBrWs3}yXN`wnxRsS@pTZ!>V|`+s;AJccZB&I<;YSs4ha=ckEq|HEZV(b) zJLoHSd|ggX@kAlDcII@TUwf{`S zD)rm1J{dHYtqge;K$Fcf>(@VX|W_I*V`o6C&9~*(A4zjC zcTjqoAG}t+Y62TDzL(e653%Tnr!glG4~+p#V~;M+P~*rSgZNQu*#D##arm5oE=oA$ z8z;H+bW@|RpXQ*Sjv$@CpLFV&xpJHk73!xS`N4^-Z|BmaR_cj>N_8$xJo66b5$gD- zcd+NR(h)vm5=)CSV_2c*ek5MI5q|VsEBVJ9;cF+c#Xt|clW}1ef8$P;9=jWS59~99 z@g@AgZYKYE{{5ZoaUkbUW?XCkoL`uX?w%8X{frO0g|Iz*@Lg<<34$D2B<#qg%Z_Y% z@JqsF?AKHbsdBY?AMzL-{YMf*pMQRn1cPC z@GQT78XK!!^cLSSjh)sGev7Z4j@@YHTm0yBw!MSCQ>7mR#pw0uzfy4p{n{BMnQY<5 z?`G+=h|UaHL`zk2r8pbC9y#Nc;mkAbcv{elP1Hknm(|5eU~m z$$wtRPH46L_VI;}vD3o8+4Rcp-~mIttP< zNW#{oH-Zfz?a0Hwo_xaZcmnImTMfQ>svYxG2@?3{sdrG?E7lXGkVJsmW*rY(!UlG5 zYpdGX87r>e*>8doIy;*eEn)S-0e;()(9uFneUeoZ&kyk0q{t`H>u&G z4){aSPfUK{}L33!4~9x(pbS@pY(VC)+3}p zc5+O8KDX-G>oa!F$}1RqL@_(6oxX`DJp+km)Fyf1Gb~()bJY5H!-yKtYPb@^buC~J z8`qbxboxA#e_+nzVaqWvCw$23bC@+U4fXX8$~!UWI|t=Z7A_41gvxE-tqOKSS#YYd z{Vr6C{&7iX(F0_M)6cR!QHwWTrZ)xY`}AaAg6TNT`^ZLlPbsZTZhqi7c1Uo`o)s)u z4My|#pJ#4*ymuv&ff4s-_K|=mN&n1pbhNd`6UI*)g88kh*>vro4cxPurD?P91*Fvs zUj!T(JY05`u^WZnP;uz-SS0D1{3p$8ppEFY*Vjm}N>>``&uFAEfH^(<*o!PZu&)zp z)xIuajOUfJMC$1y!1Xtk4vibwRFb$w?P|zan4$*Qif^UgWFSu%U^nhUU4V&hmD4seF13s}_Xc_+QpyPW?{)b}cIx z=o4}4SbR2G`a>-DA`})*>`cjTfPbRu*THX5{TldN>64~86~iIE?e zoEv%4XqFaY4%jDRNqLo)l)c2cNik+@5ljBwS-p4mUR^y(tS%?(A@-tF3hQdrU2G57 zBKc*jfO^hd53M$yx_|jKHd1(lfAbo1qMEbZEKP7wD4x6BEVetUL(D~t_49kaO3?Qr zX!N~^N=T>#zBsE?Vp>2Yu>Nj9CHC&|Rbm<{Q2|tcAAO+qmrs5l$|R8zQzf?XgGks> zi9EFugPqr`M5YJRf^d-Ew2^J=ueLnyQ9CTqqXv$NWVPsNYSA&dcO3#)joVjrdalaP zT_#`AfBw6#=x*Ag1Jz&jU)8?oEIK8oqNC1#2`IY%E&2zsS^s1E^SOUv9&O?}9=e%j zX~Wj>VVl_lIcgRDf+~j8Y^Lg|5*P>mIUk$l3N7aO{Dv|F>o?p@=`Rjopy-YykEq z6_c>kJTI)k`T0C|a2>(s?d6TzSZ2y20clqG{L1c(_H=F71-`)(|H@+gt#$AcjdK4d zq1EqTJO9d@+?m7lA=v?vB5JT5Bf{~XkFByHDNcE}ldYDkEY`tR;gp!zY93-}aVp#4 zTbvZiWZLOx*qJ`c!&S;;i5L|?dE_4`Q(~grQ>8q~N4cVs6%V>B`&cYdWibvGi>ty& z!7K0WY8;*-SJ;o@A}EfuEsA(t$+{$}%fS;%ug!UHv&W5?M;}Mtf=26tmL`(dyv@Q= zu(0SXS?@tPUlo&^UVY9ot5T1zMF}uYfC^BzD4(Bwo6ShMeYLUyfSr`bsmDP#F|A*f zK+HQ)-8AoDLESX?+DX~<(K*l;5PCGP*}<~2`n>?_B~6+_Iva;)MA`wIO6ku5%f%OX(mO2Gh*JAY*&)>`Z!&lO;BMSIOmF=M1}cpQRFIy*D0>LGVJAg5 z8HjrM126E+@3171avhIcUG#a9zRDND*iQB!ui?s^<3UTjfLq9KdahNSku z8wb=L(f;-zg}nq)4H(?@NCy|zgnN-ym@i&OC+5fDd4G$1VJCKo;m2I)`Qi9HuqEr6 z!)S1~U5?v@!|m|rIwRipMezADOC?dH7q5|7SO|(ieM#!;!DaF>nQa!*ke9LyO;l&1 z=}WH34_n`5Gqhc*NDk@CmG6M%RvCnbxxl_(odTN9uG-JCDjqWEwG-aq^&hj@(m$Vrg0ETcjab14 z?8Cu)DbL@>UZ5ml!eaWMJHN1xO+wDM?`P45*LUC`%F5^NXK{Y29v{^K!e{)${j4C7 zGJ~90nTM}{6SsT!4nIgUJceZ1Tl|(!SdNksC{;+g;uAJRc!7TiF!B&SWmE5>+AV`I zN;g!Th<&{`7??2!@r<#Vh$%(;9Y*iIZV$V3!Dl27cr={C23~yFWE#fpJg`B(NPLQg zx)ZvlPZ{eD`YGQATT(Sc^#e0;nmk;i>9H*(sK!XYT9_BxN%Ho9svUmUm z)82bOAN?7-A+aC|i&k3gg><_2r0M@@8Ypj!biI&)5B3!BRiClhaeeQ1Vcd{36OC|$%?N*oFl8Bva65|l z4TZVTjLG2;Gda*3IondwYa`I+Cvn%2vcO%5aQNw~RAF7H4?u?Ck$_WeHU!|}gU#W6 zF}o2Be^ID-haSa;Cy;K?0=j96Yb}5s0IUkIzAEhILJfcZ5EGTr(1b`=Dqnwy-JnCu zRV3kLhu*wTqW11**PN%vy68UVweDlx(|R$*(K$27zx0MtKgh@*$tIhwv%X&7ZSgJ+T)!y@J+P>fy4= z5oik@t(my;yd0y{s`R>j235@83Vgb z3z!#Oq{41rMu`7jh`tO!Bv?COxmUq{1&luB=_d$zt&DJg0=yk?tk(Uw^9wd{P{P8? zjvy2nZCVx!|48`3C1p|Y4_QUTd*8o3}qfcaL zKyIiFr~aq9>wrgAmSt44y}-!@A5)mpy@xQ7ewRpNi~c2JX-UtM1Q%RJbo$vewe)i4 zOfWzLYK$dJmx0X#zLBu~OBOArgjd$&N9}0dzz=-MibBySFcddeXINmU*}`WXWpfQw zyIg!`5M8a`Pn0~^=l>x{XbmLS-D#Hsd7YY zFZ_P)$t9k}baxu-FA}@f@ceIBx{c~R6!sJ+AM>dcpw}yh!74Fa#CS|g8IU)&{K;pq zpbTpo+Hjlx3}q)=1DttPoHGWF`~;&ozwXKQVru`8Ihq04J5&QmH5Rhw|0Kp6fVj|bo^QgH~Ma2BXI^HrR7O!NbY0J#TMWZcX! zQ`xvJxxNE~Go$1*;L7HZZt?SmShxg@w zu$%AEsKumW|NG%iR=xngzqg-!M1zm3g}eR&A&=Ubio6&w7hv$~)?kz!Lmb{BcEPW( zeHYB_AMsbQ5RL~*@H(LEqvR))=||^AxE^710W7`t2GJw?V1yO{c)UqeZ>EMoW(d$DvZ&fTsNi|dLLh;{kAqJ_yKwsMdla5~GUoM1zyfCYkTa1Nw_rN1}bT(o;{ zdR-mDB+Y$`<*H$C`nfx?6oNICNt^iD@Bb705MmVgT=;dW|A7Vk)Cox9$9dLCW_SEJ zzjOZo9)21Y#3HBQC-&Kfe)<(`Lu4!AZ-bx6lDzd3{6w}2{?qWo&fCRkWyU{RAZR*T zhq)Dh@D%uCnianeG#i&b49>Qh?^F;$xUmobn~DtLjf)U=stJ%m;{t@&*nGrtq2XJK zX0Af~T)@%FjmS_(a4)pH-@?=v;oi!MV2!Fod+zy`-3xVF(kYf?Ak-~(KH?M`EfF`E zY}ztr=VhnZl)&)WtHP7MW5dSxRNISYgC1&oQ9GrN_737>1GyUvYmA zemDHjA`Vq4C+=B~VrQJ-$G&4zZ$nK=@d7$tL0_$LS`I0Uq%dvwT7(a_qA3UAK~ebI zDQ>6|XSqQBK|X&2;q>$Hr(48M zn5Ol`h)i^fMrqRsNFL>_kj~IJVdD^QPT>c>XYuhc{=tTMC+uH$0d)tWdk;sn4R8o2 zLwW9LCZ^al2cfPzh)Ck_fh->%>}iQ|L5D-IXxDK*_cSh<0F6*gGyqbfU92Uo){oMT zE+!IduuTGq98$CccK9N`QATNEkcQ&FhR{r5xM)+p=CJbF@cd|3JLVLkL2=!HTbbV} zT+{SsaSOFv{{vg9U3w2M`hlf)g{1Klkex&IL6szR3QFhWd!SXd;ou$ue*8IUT!6LZ;531atsgG&a z)c)*XMKR5m4qU+TH4sf5B-vs!Xj2-hE77V1t#X^D&ILis56@I1>RvZkBEYoeF>Xr@ zWv~;3C_xM+Ul1$Wna`8Xu;d;a@IJ3iQ&ffa5G~%-=qt)Q=W}Q{YS8BJ2jjm8li2Jt zP--9NThHKP(Q$s@4C~u9U(-&VfqW`Czm5(7|G-~h}Kun9YnYs~D7v*1>A6yGbt(ZvbZI&9!23dFs4v7fI zU%s!sX;2+OGYK2y+!qIL!Uyv5gWE3;*SaDt>0ap6iwQplxKuaL4H`r309{*&$!)2Z z0Hnr52M70SF&CrEx|xto`n6bUPs6_xQ$0T9R`V7bL+`fKqA-=f3Hxb|CU;Q^pVY?E zlyB9?3!6F^olLqQ0d0wqyZ&cTn5V*SR$*i} zOO&@5EWwc&ASiEf-EqF^EX!1K#00npeu>J3f$m25>{&K4WrMy}3nBX{@IN(&-qQ0~ zpag-8E)tVcT|S@kE4zWvbe4Y0gDs|FA-7AdHg^#2m6kfO*VXDZZf7@~s{P8I#X!hB z2Nn1RzT_M#yn$DrL-jZCqvxP<-oQiu2`<{eC;byz2`UH5Q1VYUAu+{Q2A{1xl_6^* zqDh)BiEQC#|H+p7Q9h#09(JAW&=X_Is;tBG+bxBcoo6{_P-zC3Qh$h1_Y*DwvjlMK zh4Uy%3Lo+t8=$mAq@6GRjb%x17%YSFh)(s_R=)i=We{KZ4XT$7d_X%J>v%KH*$Q_U zt_E%!+#0xIxCL-C;qbvKXCD6hseTIo|K%JO5H$r5Zr=(!0yuvLUif#zZGkI?bHe%K z{%`*Ky%Fam9wIi>XhQF9$2IZ`XyUSMw&25Go3J=zg&S&l-MI%}P{OUj@x~4g{;3M}Tz0DTfNOAiR*O1DO{)@#A#_qQiD8)c=0%a*s_5o!# zPzE7x4dTiX=R({{HSTYSTVUZ?7g+o)K*78a_9j3vD47Z94CuJDc9`y#5vfgxYX)8d z;$jdNi8!-L>QyBjUjO0KOIgoC}}@ zu(biO`vIf-z%K>BY=Ds(3!+FzCU*lyBKh+Huql950ag+Ky8|#cV9PG=b#x>i2cQc; zT)FRn-3pi!Fudp50UH6B4X}j)u$utO1ME)$ut9)j12!iB))z1fUNIsX1dHV3?r`EPdb;1s$UyTVDAleeV^wdiH2@_ef=5ul0Q|2c`7n)FObh) zV%0ifAAegbekBpx-z`zo@(P_e!a(6XD=y)QM?&F`zX5f?Y z{TY;@r>X#9Cv_+-)T*J&YLP&bdc3MSJR=&?mS%BHp0 zf{VIAMhX)9D0z?+`W+sysYE&wGvUg%VKqg0DmSEPa<`@OV?p9*E0qCx&`Wq_LrEot zRqvi;G(T27iW_Q|M;pWnJyo*c$FyV%zlXk&mNvl18 zbd#~N_k_QvMO%wi-Af&6#;Q*3o&W`rQM3wY_%B8=-ay&(v&-QoF%Zw-AmoB(m56)rfESt$Sh`yEe6wwfLs9#AxD=#vO9|%@HI!v^K&KqH%W5wsph>lfm2}8*xV5ibe z9talgy}yRv4wS@=sM%e`tx8_tcNg-CixOWzCR?M#RKYGEh!Qh{C_2buv({s` zqD>HgfEmu21aYHqn@g2oFmt1oF|Wr?ONm&6 z>p^A{_9oPt7|KBwH@+d_=0}sn8!%1{$>P97MFQOHgi<<=&N}Iw^9Rh=I-GOHr1BZb zVo4mjI0reFjqHY%!XE4;Nz;I8$JqIWWb|j5Rf5dqqaJrh%va?MBiS328BTyoSz~NOG8}PWbC+b$0~OsW+4AL z0vfXdaj}!Z=R>W$F-06pYtO~up=H>lRa2`xd7CD;959v}UFqivm8VFFuMCf=F;KIj zK2!u~Z`;Te1+PqM2O%Ecp{^Tb_o-UnxYxG{)TEe;%oqZ{sp$gg@^w~`4FjdYe(J*s z%Np#(K&_@6kg^83)B)C(ZA&NW7fu3)RzDI)yXEs1t2jbJYX|4Hn5%PJcvh+yjT5%f zsp2eU8`TXv5E3=JQ{#L1u2gZ1RT1qA6anHj%-Ce|RZVlqZ^3^|ysq*e_;vHJ3SwhprT^J=Fri;@sO1w0_$Ju#W209u; zCIWFmF&2ZHG}SRD%pI6`*A5iJ1tl`q9;|GLlhKp3QsrVb86<9|&hM?! zSnDdSeBoemga|^xLbImC!r$&DMsV+7F({-(gKx50k0w~G4Y@6H%V050P&1c9bHv5k za3qQyWz{JekY;g|Rj#;64A&|X^F+J6eK-PA9R}Zr7+4VI_uVX#g6-7JVwyt9X6NA} zM62STi9HwmR5IPm?Ux<*+4<}dVjl|kjkM_3OtW*(2xX?+=leT5LOc-u9yUJ-*hA@U z>9yqVY3Ge2#m^G$xY{j0YYf@Jo@Q2)jZbT7p!4!;rl{s~s zRbTs+g3d3E5tDDRc2lOOJWL$4+CVa}=GiS?9LQ$x2O5qVs@vcv{syDf`g6^uSr+3e z(nrcZR=gnvIsFYmfIDVHpzDZiBKjlG&bN=n=*E0HRvbX(4?3HmDouD<3WLzH#EI4o2HGK^(7_FlNH0LI;p-<)M?srU%j>6#V{~aWDsHm{yJsRFY=r6rr`tIjMZV8! zz!#8%VF#=!y3Z#WrgFTp>%*|GLUxD~!P#Dgk&}v(kpxW5(?wW=j{exnTf9Z_zEuG3@ zr?X_f{R8TYd20KE;6%Y9ADt_%5DfKT;dVQpI}e;_<0bRNwaPru3v-uEJt3!aVOs$o z@Fy_`YpECW;}v~HYXq!}E0+L1&&JFCB$g0~?r^E|nxl5vQVg3XZ;ado5?S-bv!ve5 zL0s4t9QfH%dDg>XR2+p@VnLmZ#k3T3s9{$^IE+l?vmO@rNS{JL?E*N|P-zRqEF~-; z3`2=o3&i0NMb7mAY%fDLRv!B>@vX?)P5VpAyc zAgdeK+ha7j#W=@UB)*OzS-(ik#FfKe7Kzzt59?#%dI<#{7(NiXt`mIUV`5+71i$o{ zm>lNTdtZ&$=*$kwf4NI_T4nv#Rm^}bBPUZWa5C`6b$;gIjjTSAz(%P|TUACClVv$@k z&Zaqnf71MsxEV&hw+=m-i^`8n<-?YU4}jk{FA+~uTVfaBT(%pF&XeK+!Eg$?2Cqk+ z|CG2#OI)8akGeIL4{(b2;>*SrPNn+QPR#67I@GHir8@5v`=+Eux`_8y2NB=uOss_Unq3mR8boqH?K>bdW9v;iL&O`hl4B%iJDoXz(7bUhV*3PGm6Db zKWIgM@hdxdznzP1BicD_0xof^}CjP7l@Iv z?HQ2?G?4}tVR4B#p7I;q4(2HF4J`6opB0M;9t;20XGKRC4(s<2S^OVU{`rtnUs81( zuJ0J9Z(_MelMi`LTt$*h&^ZsT0*GaC=<&hSr3&L|T31t;1b%S9k`)+Wu-3|@Sx(i{RBLD-JWLs&)_D(E7qdBAeP7E>gk+nGgQ zhpDURdGWh2n<5#zW|@_5ftLZiWTiNe`btpy3Jj*OxCNV=bwKl`Mpb610<#N!b_`Rh z8$$C+G>DJA`P@H?Phw^`^=D;QVps*HhCX!_)&Uz|xC)%^=8XUbr9`=MQ}~5d;uj$h zI%!)$#yj`f_^}tnzBiIyIG{C%(GLqg=5JAJ^_jsEkHfq*$bXm%nYsBampE2TiFOSo z#a9a7;SvjwY1C@57yd@CM%7Ras?uDLngjpSXg?DDx`Q2Q4?s&ev?7D)7@#MZW+dp=mkay4Fb9qda#SVp?CL#m(DSKWQWa}2mcr^SwID2!^am4L9p_{yxY*^n8I=@ZQN5XK93?~y+lJzp8Jy6MRkW(%Lh#kC6mn=J;{?+|~$ z{};H(>COqW00m5xfMsosI9KfR9Yo^sn6c?i0_ydId~-34gM@rb8-?|5%UR4M#nfMusH~1TAeEyl1S;!4M6x%qV`M+Rw%tUsq=Q^RJ5& z(37LLKxAs>Wn07>L^bCOn_RyI`JhA2ydhc@ISy=<^)}9mFKCWD7ornTO@OTeG2E(7f)1f-sKCBxuZ4z{#m8;5$A-7p3r1 zA7Q}e^QZ>Y9Ampd9GH@S=0(ycq1{rDeLLz^RAq^DBVD@QqTjitg;z9C)p^p#lt>=^ zv6v+&^Xr_Ae91oXQAC~DhglM0q}gV0E$a{K#oX>&K|uGTU2{y+ypa||E!iRx40BIO z8#IRd#pOs@yB{2s&oAu9evD$#O4d)%XRy8gM4XE3_I(2V6=gSY&Ix|@Q*nKG8%EB= zlr(QCCQ@@hXp^x;JAi7X@Wun;T%m#A^qH6-6!00JiRmGzojM=TiT|q4KsrS}_L;a= zkZ4kcF5l(#@S=m*oFW`N$d-KA+rs-aD)XAXQG6Ke-Pq{krAF+wY<$QeR2fUgA{k4!EMfc-8l@ckG4g>1lObS`U1aq9Zop)&6e{u8>4o* zU`kY%A|E*^R%kQ7MKQeCfMz#ay{y?4|sclT=AW_NAU5w z!l!)J_u}%d5G`YosaE661TR%nr#9L7`R~PHN(X<9P3&p$9b%f(;umPh`X9t8invOr z%RYveGk+A51T&Hbk!qpFgI5%D?{)FYyCHhc`$_E1U+yNR@|{14iGo{h{7GD_6hntI z{&w{8q@S@nZk9LyEE62miG9Ox7JnIvKAQIR zPF6h5#%G@sZw-S5_vO7^nlJ6`auWMvbMtX|&pDbZQ+WM9#pGB>)f%X=yM7P332JPN z+%j}iSTnYI|HP0>;c4f^V+Me9d3G-SCMIQJS=4E8c?5!3NvmCRRNtKOtj?)v3ejv- zG`8@ULME-DxK=x#@|!p{sKYyexBez}1=&l#VQI&>ZWrIf-_dq(Ig|@78 z63<3KuBQ8~r0!J1Y+;K)c$KptYzlD1OvrQa8G~gY9`dL<+`{)5C3`5sI)ZBo%)5qSGiQ>D@Zjp(Ch5H> zfWtOiyzC&ci2QHDKPr_Mg-B&e@0zjlgi5JB_QX4Fa9%ilO{XJR4crzu6X3Qze0Hcb z+6q#rdDPCKZiAwFz6-;B5$u+KHds=exTvr@MLqyLEw$OeZZ<;|Cb*<9$xeB~9FLcT zNlB_--Wn#25DY({4uf#~AC5T@NWFn{EJDgs{c?Duv_qi4KyQn@udB3G34oNmBwE5@ z17dRC#&YO|Vkt(N9Yup^1H#z!bZi?+3%E5_8cn!C8tmlSJo3U=X+lI83>?UO|C|-~ zb#~*;HH+NXQ~HYZciZ!%U8E=O+Y4}_br&w;RN}1uHtFtIRXZQ0Dl2|K5ulx~j49x! zZoQ^kbQwVD4SfbF?mc6q4{-KdtHHjFZuG3frCc)x>KXpTSZN?>g8O3_YoKXl|u|v=Ah%q9|WGBAVpDEDaEhE{a~ObUZ?n{529D_ND5Fe zyK5&(PZQ%0o`Ir(@im$i7ca*<{~=eV@)Z-M2`JXliBfVHiuI{lESPMV%k#N(hm@tP z3%L1OJ^=N`oILstDT&H4I0e)|Vg4Nog*|sj(a7t_9li<}0xED5Do~j!hfb1a2!?&& z>!mn+xls))2&(-W5?rnyH@~s^5%Yj*vRiZcwe_bG7m?gbQ1=yS~ z9n(^x?%>01zwPZ+ga2wA&u*FM;cM@c7E+?H)nS_4X;wMverZTh8X@ER0xkH*?U%@A zw@u%wab{7%t!7Kl4ec;vW+(XKxzhP0;6%f9g$r8%tFQ)KwtFiTd-QF%muHn%JS0t# za3pd3F)2at$d?|I255%`rpd-7yHcd-(cN6O>J3U0?h1^LLHriPKa~z^awT3~SSXDb zuE;nKNYjASGs9eVgM!45Js~ZYa8}Y6X1Fz&O=c~T212&1SR!STrnhf1z!^AVAh2E5 zJ}GS$2p-|UUM#~d?^r6O;$WB`aY%29mQ*iHGE27F_zI^KABM-Zb-8Zk8*-3N)>c~h zE~k`(?mX+1?(N;2UE7L*a1O_!(14qR@T%`toB1eMP`Axyu7joFQRVDEw@;l9#*3Dr z3}EYJ7tt_Nh6JdO`cya&DTYRfl8ZA(-s0Piqn4P#Q|U?8}8w9 zX>51Mnid?-Mxp045YQ7WX>HvUi-oirg3Yv~)j&S9uaUkB!fc9E<6oBIW1%~MP^~O& zWQc;rqZ*m$phhoxS(=(+`FZusB{2KJKdmKTi-CO*_BKbkJ_A~tjb8v7_Rf>mO0VAq zD6HO#XyntO3F)AbBFu|Pk0jXdo`9|g5^NxhftnvyrQ&@PfLCSV<6n{DN%ztEBA)d? z1JKshhzY;Fz_)p80URWIhodq2LDfi$px46Jz9L;3vj=dP3{YVs$R9~6O4VExhlAmH z)+ogeB@d^hA&4VfQi%PI^JDU3295{@9ETn)>m(cjaOb0j1v_jB&QA&woHcMe;kLl7gLAjA< za^d>H5#j&jGJuotU*KJfh8gMfaP9dC&L8s=99Lx23}9fQ!vW!j0RQd)e<1#~{FN&1 zCj75~TN#knneVtV!)p;(gamWoX2MN`8wEEAj&OV8-vSp2$KWoaJKNw+!ZlIX!qvd- zgxdnQ4vx~f@Lvp9Nc}%g1zw%G?JD?Wg!ABr!ezsCgQJnR3Q}ALFe=(3W~;wcp6H5DIFygHvIMjg%^7~889ebFDLS?-pj^!X{sw+K zq8+6HpalW`X#sv`0M)zzcy53{CcxhsP@;wae`SE*>GSiw??_?!wt$Ghjvo{NH^cAm zs8&?p?{5n5*97?80e&aHZKo9P@F(%2K7M~qfPYJXe@%d&>hH&25a6E{;Li>4X9W1$ z(JpFQ$FkPWz%pV^KhZS-{=xwNoB;pC06#UnKdmLeZ-$?gme6Ebv25;wby_)=jIxi6 zbf&|f-ib{|id?Z%dPVP8hzVe^&n*q`6U_BcXB?Y{sY{LT2YdYq1*GuI$9&4xzHau&J8H3iOmxS5 zK1SNQ40}_dM(0ed+>=ZXIt1bW^E?kvsv~(?9#JPfD&T+Dhte^DvWivWt@8Shu(h-T z&{qN2lMd#s@DaPLaq2XCgBy0k{*R@~aUV;&Bm)q|Jga=v-q!E0gGxdzs_ z<~BDU|D|-NV39pvN>=?4%1EObL(k-H%Cm-*X1m=^*Ph_ok0BKm`l?9sXffsEuRc_p zI^=ih8)-SJT69cWtEHNWiB5gVUoY-86P;U823*6Br2NTMy7{o<$QQ>e$CYGJEz+}s z<26VmZl5a-@Dps^+RnHI6_6xe@r9c>*5#Ld{*}O41ONZz{CQmc?;yZol~^P)7`5IP zCYT={n5YKv{_w;AKf!jY6&R#eh+v}v{Qh(S{|<$iKO-tYD{AM@oc_x}lwdZr03~#* znR@Y`fVggO{x~Xt3wXtAIt$rP^%I<7L_CC(JyH#6Fd~A^@wjiL3gRUl^$|wJc6zTQ zdjqfi7JJMM{L;75QA0Pdni)qCr=4^N8d3wMr+h7$isa z&crHpkl>#N$-dLdAUShd`a+K+^*>9JvJVczGkrzP9^7)0JTzzqEBIEqXvB&~OZzbos_#rFV>!JYMfKtk1K{r!Pr&(|{Q*7-z%*KJXL{&u2Dg!4v--6FsDg!6H0`UVeaEdXP`vy)kzaSXzM6t(fjj+w~4N8td znI=2+#+5o6O7ZGY+L?#%n$b{NgQ0W|L&^D{htgkP2Vlpx zJ=_@G13MJbS|&q(NEnV{s6J9?i&ItvWv8~#9$cr%wbUWinQ&v@=|IuuTF#0fh)rCF zFbPd&Q9W`mw5Qh+83FNRdG8lC)vaL)3ebJ2HPUtHZcXkx21_dDkDY~d8NEPW5@Adg z1WbpK#%e9~RWB%(>M)tuqm60Qrv1f@d{wk@fOL@5srY~r*ycdAG07LUY;sQX@bl5e zePbxz=1Dq8|8qP_fA+80oBU-1+qim+=vlo0FkBEmPTyW79CNJur9w~AH{+l4yhO0P zIQPb#d(%%KZzphBX83N>-Z z1-D@b;Zxz;ab_NGjH5Kc&KABF{&4t{O-{oaGR7-yi9Zf_eY~+qqQ+80`;B~3f^l{h z@I?9^s|H6)T?J>9po#s4zCacsIQvl}FBF_a3;7JMTVt0`B^c-Gsa2EnS`t4mZQ(Og zjHy8_@n51ric*YwLJ1cQ_)RFvi}H`R8k3Z|Anih{ai2~pq~-)4k%pcFGF5(lnz2tG zqN%~xVyL1*P5g1HD8Z)sIHFnG4{f07TVXCBpAX_4BJMzPd{S? zqq+s*J9Nw49=UO-@sdHQk<%XYK2a$}?~L@dG^}jpOCyad1WKXHbH{()fCJiFjAI=_ zqI1zDNEmRM06&G-X*%N?{snnW4Qno7AyCt7!hgU2!V$e|IY%H+|8K}(7q5*Ni0Ah& zy$Ux$4LAJWNrPSP^!w8V{5!5F6&1jY+65pu=b_dF`w=Zb@NxcDz<(Wx7sL7Er~u8t z%L~Z#q)LzAG@q}<(9z6y< zkFH-l)|jMMObxJvtes$d4YT5qiN-HPa8&pV<0}qxqH}jwpSu{~CzvU$Gj3dHqH|NE zFI>|l(fM_R&z}ug?tkI@d0hSP2m};@P}5a~2#mklzW{{_gw0V4d{`|U#m!SI7l;?& zcU(b$3NY%b0*nIzf(=zOYXc4uFvBeZY$wA0I4Zz>fUOLm;YDi^KEai4gayD-n*k=u zrOq^soH^6DkX{3Q^&WJgrR$cqjeOrd#v_IinB^=j^5$8__sGD;ZZlriLqN3OZ>*s1 z)HP%AyWbdL#L5`{i18Jji1p_@)*oi$yA~N=4+zeF%s4fqIfexC;5_DDjX7-JV@5|v za~y%9RnU~h#)m>|3YIRf6iWbZY%Mmv7SgOah)E|n0}1Dx;7cAi-W!4^2$WYL@;s~O zz_jskV|sMH=6y2xE_dtRZ$#lv!XIPPyw4NxZXzF5XzYCzouWeH_;4bE6o=*%Xp~e5 zHr`Tbya5Wt&?k(Uqkq8^Rq4Sq1RhHb`F*zLxT+32b9}s_#!R;7Fmj8;KgF*B?wYG` zx8Xg9Cyc$ix}(Zo-*wrs^mr6W0Nsa;z(qz6uYJO3O+z?k43s}#VEfVFiS%rPk$ICP zs&WxbI<~o^b_QW-S$dpHONYtfV;?ttJ`-oF5=lWUf{P`k&aF#i7Vo9RD_m`z+sqc`;#~yLptm|5U&x) z5spSv{~G!E#U;kBLOu_F(n#9YNlzO4-j3d9xy*M);k3A7uqzQXeO6OvxQg&++VnLBf)Ru(z;)H$G`h4=ITGoYcG|4-^*2hNVWl3~iI6o-*cW zu^F7?Fb>xu_p)V14sd1>%{MTDU2c@|7hY^UKniDFMnRq;52F?PP#A4goKcXW9JpAn z5ob~3Vy+PvqsE!95ocE8SZAE0BSWS}YC0o3;xuYpyZw&^ZMXXh+IEe&HZ`vG8gZ>k zoP!4GABi@r37f7F*QCaI)i`V>!>Pr*fGbB;=zVI%(rZ+tRIP~9ALj^Ya;F+u=#LDD zD^%kaTqACQ8aL+}adXr-+cn~Bh*SE1+BG7lsR<`uBW|J^mv@c0JT)%&8gaR5+@Q|5 z&i)^yMrNy#{$|YvJg`|CIum#BM}wNS<{EJ|YFyPd;;IT9KIW;sMr5U$aLYB~wy1IL zYs9(LxHZ>^TcgIg)Hoe(ohZ!XLWIATXTdy-AAiOe;b69mItprRf8)@#JIs&UP}xRK7lDWO@7Y`R9mCN<8h#`$~CTfj#@XLR(pMeP`mnGI|w;SQ`4hd0Vkzic!H_n(;PY=g_bBhk4AE_YI*b17Wi3omdm?hlFe{vfW!f^ThUKoGnZHU@A8|%uSa3OYsF-@9+GmS_IpNd!6S6S_N97*b z*jK`2d*pp%W9YjeMGHtB-bbBTz<1Reb71&ijV)^VN*DsY0gDI_39?8NJqTnqFhKx+g}nu`2{@XBshR(knBbkq`K&r)bP$^4u6=w- z9rnHXe0`lU9YuCgEof&wON&F*e14?PSP@DvMKc2vWro|89~y@YLxGg9xJ<+eF8S#T zC6nQY1#Rs#{G*P#R-E$URJYa!e>T=Z8~ks=4>N?b9~!69-oFqa)IoO<{-yB4ysLH# z4ELSzQ(dS9b6fbrdSg-OJt#&(iov@C?*sm5=h}~qE3PQoG+d_n2)#}~&iSbtK-I6{v#^Z0ur^d7^Fxp{# z^QkchiMM`g94j2>=Rd{%@Ho#rfITR(2%DBFk3V2MAcUh)1`F;1f5ZPk`n0y~gq-Cy zPLULos-AeI_o#7_-`{f7cuMul2fi}K1;k{!guMHE<834^7=AFm2Xz*&{nQ889a`e@|nfA0= z@;BJ!0c}VZ7697_@zG}IJAN_V>p-szwHwNQEJ&kI`MBB&(rWIfQF9vh+c0uFTwo|8 z_)@^`1Z)ssh*v%VG!a>leds!7x`AAGh;`mtE|M9195)X0)+kk@&LFWcD?@}uYqeu zK2c=do(!cmbYyh8`p!dWsReeq?6UDA$bj+;t?75+M)VXdGbWq0R%a_Mf=C%2?Phgk zXzO&BI?0s4hEAq1bZJF;(+#&F2?gm9g0JDn)%rdZ_9r<*FA2NVm$Ey{YpRFp(v zH%iuq8y$pKjJna)zGvZ|W0Ma&V0uBgCpO9Hg4+bQ?tgIG5WiE!nfX89QoJjcS3hV< zM(-Vc(DVTH;)r>s96{K?pZ=5S5Ei0I^AU@xEPU8B7Gk@+XQ9b1gre9Hre=fpPJGO+ z231*Ps*uj2$b)WG!Uq-^@V z5!W^+9q^=SaasfD9#&qnHz&A(eiL*;Yrh@esYM8)2Yu&bl$Y( zxM`clOP8AddW%I*&n>vlV6%sZj4SiU;aiObQDwBzNd;+~^i+}Yc;;9I?uxMl?~KHo zE5IKZ2a|jl$7&~I8~l`MY8ajkKLRvbsvaB-^G^$JdCK$-_UIK)o03ByfzbYM`Q*zu z(&n{KoBrWIvq7jDjOX~u?!y|q9f_4S4c8yh3|hckt}%*TZW&!}Y(sMQNWABZts~Ol zNl)KvY7{pSX$hY$KDONAD}-OuOt5bNgUMxw_L+paC^sy8Rr_4+^I&&OL~Ckb4DK`~ zqy3b{8M@n2=GGj=YmiL|&6Wm~K`exIq|-EpuIc(-#IC7-tsm_5oTiOIxL#qx#kplB z+O@A=M*PJ0EHgbylK}(>Wd_%Wr{;OW6yFLagui356>i+_qB-FiASjz{r{+8{G<_db-<)@Z$JY7?3DTa2+()s}!>PR+*;W=r$KK zr>0KpR?M}vxJgxlLO{UN)C)Bk%0%wnV5vpQpgIp9|AOfS$0$rhw3V2`P^>! zE7kBO{I7vq3FlN{^YA|rZV=o|5E%uR4cB^CCyh-it#bSq!_9#kMKHpFvrX|i*Hi}x zO$7l&#=y0~Uk5ks?j)xPjtWJ@>Sp}W5j-$1(C^1zdX04cxM_&XbI{NKL+8*V^Z$p= z;aoW#{rmsSq5r!fbL!`HUJlOz$7%qTUej^D z-4=}F@pnv%1a8`F>OuGPN8#G2U@>pfXw0ciIK|m)dO^fwe&j7vDi*X0Z$|3@LA@7X)_Ww$c@l05 z{3iTgyvof)cxXqw+-I-pj9_>L&9cZt&0-hi(pu9+Mv@|)pORPXH`Qz7Ud4fT`vaxU z7a*OJe;pil1ZL+6KKFnr9zWW(jhdpmCrr|u?s2V z@vyj0@UYZ|Mv$r}*o#Me%;WH|)gja9-k{LGh;s2nQ7$Pqt6sUIMz^dWK2~L*i2xr+ z4|a7&&cE{5!=`klnVwUU@iB)@_lDtqv!=#(yUhwLo0V4|hIrwTM}Ka5K@Y*<$d{(6 zddCY`gyC$fFq6QU;2)>L=>J+y4>&oB+lDlOIFkV*7YGaV`_t0#233Y{J7(&Q&Bw80 zriTQF3!Da5sQz!ke=8jQlcP9tfiQpE|IL55)mVSwis7h0yrJ2YVc3WPwEKj7zS%TV z(b%*=$hGhpEv8huT#Q0j0HfaV#W1G-Rrd|jRyJSk& z4SqYxxnKw67P!iHd~O_IC*k~I|9`F;PvOFM_zY7^prrKZ|`&amf z!cUJZklzhy-mLl?P)ocbSQUxzP)l$XrOU9Tx1R%kj2{Qr*7YH?jE1);vOvx|Qlx2oY5k_=W25P{L%BX&&GOC{{6A3@z XD;4m=^X1H*A+PAr$o0KK&IkP;IlG%L diff --git a/api/src/mvnc_api.c b/api/src/mvnc_api.c index ff98ef0..2975836 100644 --- a/api/src/mvnc_api.c +++ b/api/src/mvnc_api.c @@ -449,7 +449,7 @@ mvncStatus mvncAllocateGraph(void *deviceHandle, void **graphHandle, (nstages - 1) * STAGE_LENGTH) / 2; // A reasonable check on graph correctness - if (nstages > 1024 || noutputs > 64 * 1024 * 1024) + if (noutputs > 64 * 1024 * 1024) return MVNC_UNSUPPORTED_GRAPH_FILE; pthread_mutex_lock(&mm); diff --git a/api/src/usb_link_vsc.c b/api/src/usb_link_vsc.c index f5d267e..d9c8f26 100644 --- a/api/src/usb_link_vsc.c +++ b/api/src/usb_link_vsc.c @@ -42,6 +42,9 @@ #define USB_TIMEOUT 10000 #define USB_MAX_PACKET_SIZE 1024 * 1024 * 10 +#define SLEEP_MS 100 +#define ITERATIONS 50 + static int usb_write(void *f, const void *data, size_t size) { while (size > 0) { @@ -110,7 +113,7 @@ void usblink_resetall() struct libusb_device_descriptor desc; libusb_device_handle *h; size_t i; - int rc, reset = 0; + int rc, iters = 0, cnt_bootrom = 0, cnt_runtime = 0, cnt_after = 0; if ((rc = libusb_get_device_list(NULL, &devs)) < 0) return; @@ -118,8 +121,13 @@ void usblink_resetall() while ((dev = devs[i++]) != NULL) { if (libusb_get_device_descriptor(dev, &desc) < 0) continue; + if (desc.idVendor == DEFAULT_VID && + desc.idProduct == DEFAULT_PID) + cnt_bootrom++; + // If Runtime device found, reset it if (desc.idVendor == DEFAULT_OPEN_VID && desc.idProduct == DEFAULT_OPEN_PID) { + cnt_runtime++; rc = libusb_open(dev, &h); if (rc < -1) continue; @@ -131,11 +139,28 @@ void usblink_resetall() PRINT_DEBUG(stderr, "Found stale device, resetting\n"); usblink_resetmyriad(h); usblink_close(h); - reset = 1; } } - if (reset) - usleep(1000000); + // If some devices needed reset + if(cnt_runtime > 0){ + iters = 0; + // Wait until all devices re-enumerate, or timeout occurs + while((cnt_after < cnt_bootrom + cnt_runtime) && (iters < ITERATIONS)){ + usleep(SLEEP_MS*1000); + cnt_after = 0; + if ((rc = libusb_get_device_list(NULL, &devs)) < 0) + return; + i = 0; + while ((dev = devs[i++]) != NULL) { + if ((rc = libusb_get_device_descriptor(dev, &desc)) < 0) + continue; + if (desc.idVendor == DEFAULT_VID && + desc.idProduct == DEFAULT_PID) + cnt_after++; + } + iters++; + } + } libusb_free_device_list(devs, 1); } diff --git a/docs/release_notes.md b/docs/release_notes.md index 7e3203d..f8987ea 100644 --- a/docs/release_notes.md +++ b/docs/release_notes.md @@ -1,20 +1,15 @@ ============================================================ # Movidius Neural Compute SDK Release Notes -# V1.11.00 2017-12-06 +# V1.12.00 2018-01-10 ============================================================ -As of V1.09.00, SDK has been refactored and contains many new features and structural changes. It is recommended you read the documentation to familiarize with the new features and contents. Please see v1.09.00 release notes, using github tag https://github.com/movidius/ncsdk/tree/v1.09.00.06 - ## SDK Notes: ### New features: -1. Tensorflow 1.4 supported. Tensorflow 1.4 is automatically installed on Ubuntu. -2. SSD supported in Caffe. ssd-caffe is automatically installed with this version. If a previous version of the SDK is installed, Berkeley Caffe is preserved and the symlink at /opt/movidius/caffe is moved to ssd caffe. +1. Improved compiler support for custom networks that use variable batch size via Tensorflow. +2. Improved description on how to use Tensorflow networks that were built for training. Please see "Guidence for Compiling TensorFlow Networks" in the SDK documentation #### Networks: -1. SSD Mobilenet v1 for caffe -2. TinyYolo v2 for Tensorflow via Darkflow transformation of original TinyYolo v2 +1. Facenet based on inception-resnet-v1 (see erratum #12) #### Layers: -1. L2 Normalization -2. Input ## API Notes: 1. No change @@ -32,7 +27,9 @@ Support for the following networks has been tested. 7. TinyYolo v1 8. VGG 16 9. Resnet 50 -10. SSD Mobilenet v1 +10. Resnet-18 +11. SSD Mobilenet v1 + ### Tensorflow r1.3 @@ -60,6 +57,7 @@ Support for the following networks has been tested. - MobileNet_v1_0.25_160 - MobileNet_v1_0.25_128 8. TinyYolo v2 via Darkflow tranformation +9. Facenet based on inception-resnet-v1 (See erratum #12) ## Firmware Features: 1. Convolutions @@ -88,13 +86,11 @@ Support for the following networks has been tested. 19. Batch Normalization 20. L2 Normalization 21. Input Layer - ## Bug Fixes: -1. Fixed: Most recent version of Inception_v4 run fails with FusedBatchNorm not supported error -2. Fixed: Installer deletes installation script, making review of installation process difficult -3. Fixed: Inception Resnet V2 failing with Stage Details Not Supported: FusedBatchNorm error -4. Fixed: Input layer can't be linked to multiple hidden layers +1. Fixed: Tensorflow FusedBatchNorm doesn't support fully connected layer inputs +2. Fixed: Mobilenets on Tensforflow 1.4 provide incorrect classification +3. Fixed: Resnet-18 on Caffe providing NaN results ## Errata: 1. Python 2.7 is fully supported for making user applications, but only the helloworld_py example runs as-is in both python 2.7 and 3.5 due to dependencies on modules. @@ -108,6 +104,6 @@ Support for the following networks has been tested. 9. Depth convolution is tested for 3x3 kernels. 10. A TanH layer’s “top” & “bottom” blobs must have different names.  This is different from a ReLU layer, whose “top” & “bottom” should be named the same as its previous layer. 11. On upgrade from previous versions of SDK, the installer will detect if openCV 3.3.0 was installed, for example from http://github.com/movidius/ncappzoo/apps/stream_ty_gn/install-opencv-from_source.sh. For this release, the installer will prompt to uninstall this specific version of openCV. This is required for ssd-caffe to run correctly. After 1.11 installation is complete, openCV 3.3.0 can be re-installed and the ssd-caffe will continue to function. -12. Resnet 18 is showing unexpected behavior for this release, and is being investigated. To use Resnet 18, please use version 1.10.01 of SDK. +12. Facenet requires L2 Normalization be inserted to be used, please see the support forum for a saver script example. 13. Although mvNCCheck shows per-pixel error for some metrics for mobilenet_v1_224, classification results are not impacted. -14. Initial validation has been done on SSD Mobilenet v1 and TinyYolo v2 but more thorough evaluation is underway. +14. Initial validation has been done on SSD Mobilenet v1 and TinyYolo v2 but more thorough evaluation is underway. diff --git a/docs/tools/check.md b/docs/tools/check.md index 9cc6158..498d6f1 100644 --- a/docs/tools/check.md +++ b/docs/tools/check.md @@ -8,9 +8,8 @@ Revision|1.08 See also| [mvNCCompile](compile.md), [mvNCProfile](profile.md), [TensorFlow™ Info](../TensorFlowUsage.md) ## Overview -This command line tool compiles the provided network, runs the network on the connected Intel® Movidius™ Neural Compute Stick (Intel® Movidius™ NCS), and creates a text/HTML profiling output. The profiling data contains layer-by-layer stats about the performance of the input network. This is very helpful in determining how much time is spent on each layer, and is helpful in determining changes to the network to improve the total inference time for a network on the Intel Movidius NCS. +This command line tool checks the results for an inference on the connected Intel® Movidius™ Neural Compute Stick (Intel® Movidius™ NCS) vs. the caffe results on the host computer for the provided network. -The weights file is not required when profiling a network to determine bottlenecks. ## Syntax diff --git a/examples/caffe/AlexNet/Makefile b/examples/caffe/AlexNet/Makefile index f6b0c26..b738de5 100644 --- a/examples/caffe/AlexNet/Makefile +++ b/examples/caffe/AlexNet/Makefile @@ -83,7 +83,7 @@ compile: prototxt caffemodel check: prototxt caffemodel @echo "\nmaking check" #-${NCCHECK} -w ${CAFFEMODEL_FILENAME} -i ../../data/images/cat.jpg -s 12 -id 281 ${PROTOTXT_FILENAME} -S 255 -M ../../data/ilsvrc12/ilsvrc_2012_mean.npy - -${NCCHECK} -w ${CAFFEMODEL_FILENAME} -i ../../data/images/cat.jpg -s 12 -id 281 ${PROTOTXT_FILENAME} -M 110 -S 255 + -${NCCHECK} -w ${CAFFEMODEL_FILENAME} -i ../../data/images/cat.jpg -s 12 -id 281 ${PROTOTXT_FILENAME} -M 110 -S 255 -metric top1 .PHONY: run run: compile diff --git a/examples/caffe/GoogLeNet/Makefile b/examples/caffe/GoogLeNet/Makefile index 5e2c6fd..8b0b918 100644 --- a/examples/caffe/GoogLeNet/Makefile +++ b/examples/caffe/GoogLeNet/Makefile @@ -84,7 +84,7 @@ compile: prototxt caffemodel check: prototxt caffemodel @echo "\nmaking check" #-${NCCHECK} -w ${CAFFEMODEL_FILENAME} -i ../../data/images/cat.jpg -s 12 -id 281 ${PROTOTXT_FILENAME} -S 255 -M ../../data/ilsvrc12/ilsvrc_2012_mean.npy - ${NCCHECK} -w ${CAFFEMODEL_FILENAME} -i ../../data/images/nps_electric_guitar.png -s 12 -id 546 ${PROTOTXT_FILENAME} -S 255 -M 110 + ${NCCHECK} -w ${CAFFEMODEL_FILENAME} -i ../../data/images/nps_electric_guitar.png -s 12 -id 546 ${PROTOTXT_FILENAME} -S 255 -M 110 -metric top1 .PHONY: run run: compile diff --git a/examples/caffe/SqueezeNet/Makefile b/examples/caffe/SqueezeNet/Makefile index 6aec28b..4d42b16 100644 --- a/examples/caffe/SqueezeNet/Makefile +++ b/examples/caffe/SqueezeNet/Makefile @@ -92,7 +92,7 @@ compile: prototxt caffemodel check: prototxt caffemodel @echo "\nmaking check" #-${NCCHECK} -w ${CAFFEMODEL_FILENAME} -i ../../data/images/cat.jpg -s 12 -id 281 ${PROTOTXT_FILENAME} -S 255 -M ../../data/ilsvrc12/ilsvrc_2012_mean.npy - ${NCCHECK} -w ${CAFFEMODEL_FILENAME} -i ../../data/images/cat.jpg -s 12 -id 281 ${PROTOTXT_FILENAME} -S 255 -M 120 + ${NCCHECK} -w ${CAFFEMODEL_FILENAME} -i ../../data/images/cat.jpg -s 12 -id 281 ${PROTOTXT_FILENAME} -S 255 -M 120 -metric top1 .PHONY: run run: compile diff --git a/examples/tensorflow/inception_v1/Makefile b/examples/tensorflow/inception_v1/Makefile index 79a4ae6..0b9c057 100644 --- a/examples/tensorflow/inception_v1/Makefile +++ b/examples/tensorflow/inception_v1/Makefile @@ -52,7 +52,7 @@ compile: weights .PHONY: check check: weights - -${NCCHECK} -s 12 ${MODEL_FILENAME} ${INPUT_NODE_FLAG} ${OUTPUT_NODE_FLAG} -i ../../data/images/cat.jpg -id 829 -S 2 -M 128 -cs 0,1,2 + -${NCCHECK} -s 12 ${MODEL_FILENAME} ${INPUT_NODE_FLAG} ${OUTPUT_NODE_FLAG} -i ../../data/images/cat.jpg -id 829 -S 2 -M 128 -cs 0,1,2 -metric top1 .PHONY: run run: compile diff --git a/examples/tensorflow/inception_v1/graph b/examples/tensorflow/inception_v1/graph index 3f1850105c4894440ee3d14515f6595c6ab23443..e5d5ae4a9cbbcfb15d2b5683b01fe0025b2267b1 100644 GIT binary patch delta 2674 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 delta 2662 zcmWlbdpOnE8pqE|$xfTJ$t~@6o5ZF_GH$bzgkvNWN-1e8i7u{@+|sghOJ-*z$&^wv zPGd~-9Z6~=8OIop6w@QeNSB$6N1n#1rkr*D_&mRVerrAJUGMk(eplXft;YS2wHhZE zk$1hMz`aC!b_3kgG-#~B-h0z}dfT8pJ(ff#kSwIOIrJ0UjLEN`dXWE`a`H$3oiw%H zSbBkx7i!Hu)XJ(?sH1wtj5moSWM#E8I5SaJt5Ir4!I1r`Q5{L;=yIF2d4!^1A(HbVZG8eKdx<*?_%skcS!Bbsy&6|et##huWp&Mw66^Z@H38ObfgGxGz z)^&Oj>nH){g?eIj`V5{Y^>l;D8X?d0s>i7wZ~OEe^Jp{d!sm~!q6uc8nhyh&!OYDB znEq+dF6L(%6&jky@p`q67rf z(clt(&%S>c$*t&fpx9F2Q#sQtqL39pT9HR%*;-Wj)Vq%6exn>1R}K3E(v z>4~LgynSh6>Oxy!V7{O(kbGEM@&dFaoBCLj2GhA{3Z07!Jyugbf}Sp%e8Jayb%{H} zD3*yV7eQnxkvh;jIEG8=lIUaE=mUxQ|9jIXfmYvQ^*JEYyzOo}k#WsR*hyooFja=aRO`!g$&5MVTf-sW#%m)jMEa18%VFA&#?WOx zJ4heujmvU(Q8kpN%R@xu&4z84W7yUM> zSk8Ac5l(r9^xg5n|Smh0Hk8%U?+2d!x) zRI=6M31oxZ^Q#S3(hsP7u-a*y-_fI1_elwzLFcG@$0e$Rs$h*EmL8$%?V6lS+Q+1+ z9+0N4m1$BI^Uq!j|7_3nV47lG{hsLRU*}*&TcNJ*l}Kcd!!x{0eCRqLmPZnlP08#0^}YPhsekPSp;*8*shct?=UxVun zc{v%A!2xHu+4U5LL@%HgxLgfUCDIY}h(lwS(k95gLsb^E2YvfPC$`fuw0DPISU~q# z%&SnuyxQCoNv3eyu*GNvl_Dg2OXK(aA6=&~nL0gyn`>Cj6Eeq$@z(L}+-!PNw^sd5 z=UKdB8{!q=6Rlhx3d`;KN>W4Gx7+=)=q5VscgPGWh#S-nkp-=0g7_T}#7AHzAF(?r z5xA4G6S2JYho9~2w4vwBQ!f&pdb^}z(nGZUt~=wr-7=}7;ROB2hUyd;s*7sSpp_{7 zE~?v;dJ*|9YH%+p;I7y`A)<@0KfK%WHjQJO)1HPrBIy3O$L$75;eRB0+cb5ty0pEh zON$9QMM{wNKB+bBVdl>JVD22dZH(?B$0Dxs1TBW-+qf7TZmfkvaZOw49DH2&XY|s0 z)}eC%9Xba+KhiGfXdmj;BnynpKeW7^eun7Dp|<0ciGf}5te#s%#QcQ5r94C&jYQB;>2ek44)iBHA{|CX9?xmY<}xmbd&ucap?|j9J^fWVFpoY3!jCmhm(N8BY&O z?6|b6^;2WQ$OOWJsqaInlnH)Hh2W>ODSs{>GCtDyj9y)DN}rPQoM|vicUZ>V=4D{I z_&<~Zf&Ebz5j}+Gx}za0`7~9g9v$`Mu9I{7XoowuS3k83_^D;;r%(oqOwHtEAu=_) zV=3vv=0bK|41I^k+BtGLzZR4AIVJ+KWR4*@a11%7`+;`AXJc;FUOwqBZ{-%wqDmy+ z%k?_XU9KhSc|6XS$8|9>tH%=rtbgDc8e2}R@aUKMu zHm153MLkSw<7sGZEGq}8u^O!}P@`4u9>~w|d|P>y9?wm7sC+D$!jSlTxqTdoa3%Ci z*c&d*nd>Xe#WVm}Y{heJzMtqw#irR@qS41I5Pke?d=cGcgL;)1)I0Z;8Gm;uoz7Xf z(K^&8ol|~Kxp1+mf}B3Zs|2Utar@@BirD1w`2izk!5?9yd_J{rxbm-=*huSyFpjr8zD zOb)+{EmdgJD D$>m9vw~ioZ@=%=IX0P1ZY-IyIe5e; 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 diff --git a/install.sh b/install.sh index aff80c9..9976f01 100644 --- a/install.sh +++ b/install.sh @@ -11,10 +11,10 @@ then cd /tmp else cd /tmp - wget --no-cache http://ncs-forum-uploads.s3.amazonaws.com/ncsdk/ncsdk_01_11/ncsdk_redirector.txt + wget --no-cache http://ncs-forum-uploads.s3.amazonaws.com/ncsdk/ncsdk_01_12/ncsdk_redirector.txt fi -download_filename=NCSDK-1.11.tar.gz +download_filename=NCSDK-1.12.tar.gz # redirector is the url from redirector text file redirector=$( Date: Thu, 11 Jan 2018 09:16:22 -0800 Subject: [PATCH 15/16] 1.12.00 release - documentation update --- docs/TOC.md | 1 + docs/TensorFlow.md | 11 ++- docs/tf_compile_guidance.md | 143 ++++++++++++++++++++++++++++++++++++ docs/tools/check.md | 5 +- docs/tools/compile.md | 13 ++-- 5 files changed, 162 insertions(+), 11 deletions(-) create mode 100644 docs/tf_compile_guidance.md diff --git a/docs/TOC.md b/docs/TOC.md index b38d04d..2887a46 100644 --- a/docs/TOC.md +++ b/docs/TOC.md @@ -6,6 +6,7 @@ - Frameworks - [Caffe Support](Caffe.md) - [TensorFlow™ Support](TensorFlow.md) + - [Guidance for Compiling TensorFlow™ Networks](tf_compile_guidance.md) - [Configure Networks for NCS](configure_network.md) - Installation and examples diff --git a/docs/TensorFlow.md b/docs/TensorFlow.md index 2ddcd5d..1488546 100644 --- a/docs/TensorFlow.md +++ b/docs/TensorFlow.md @@ -1,7 +1,7 @@ # TensorFlow™ Support # Introduction -[TensorFlow™](https://www.tensorflow.org/) is a deep learning framework pioneered by Google. The NCSDK introduced TensorFlow support with the 1.09.xx NCSDK release. Validation has been done with TensorFlow r1.3. As described on the TensorFlow website, "TensorFlow™ is an open source software library for numerical computation using data flow graphs. Nodes in the graph represent mathematical operations, while the graph edges represent the multidimensional data arrays (tensors) communicated between them." +[TensorFlow™](https://www.tensorflow.org/) is a deep learning framework pioneered by Google. The NCSDK introduced TensorFlow™ support with the 1.09.xx NCSDK release and TensorFlow™ 1.3. Validation for each release happens on the TensorFlow™ version noted in the release notes. As described on the TensorFlow™ website, "TensorFlow™ is an open source software library for numerical computation using data flow graphs. Nodes in the graph represent mathematical operations, while the graph edges represent the multidimensional data arrays (tensors) communicated between them." * Default installation location: /opt/movidius/tensorflow @@ -9,7 +9,7 @@ TensorFlow has a model GitHub repo at https://github.com/tensorflow/models similar to the Caffe Zoo for Caffe. The TensorFlow models GitHub repository contains several models that are maintained by the respective authors, unlike Caffe, which is not a single GitHub repo. # Save Session with Graph and Checkpoint Information - +The code below shows one way to save a tensorflow session which can be compiled for the NCS. ```python import numpy as np import tensorflow as tf @@ -34,12 +34,15 @@ def run(name, image_size, num_classes): run('inception-v1', 224, 1001) ``` # Compile for TensorFlow - +The command here shows how to compile the saved session from the above code sample ``` mvNCCompile output/inception-v1.meta -in=input -on=InceptionV1/Logits/Predictions/Reshape_1 -s12 ``` +# Guidence for Compiling TensorFlow Networks +If you are training a TensorFlow network you will want to [follow the guidance for creating an inference only version of the network](tf_compile_guidance.md) that is suitable for compiling via the ncsdk compiler. + # TensorFlow Networks Supported * Inception V1 * Inception V2 @@ -63,5 +66,7 @@ mvNCCompile output/inception-v1.meta -in=input -on=InceptionV1/Logits/Prediction * MobileNet_v1_0.25_192 * MobileNet_v1_0.25_160 * MobileNet_v1_0.25_128 + +_*see release notes for supported networks for a particular release_ diff --git a/docs/tf_compile_guidance.md b/docs/tf_compile_guidance.md new file mode 100644 index 0000000..e01768d --- /dev/null +++ b/docs/tf_compile_guidance.md @@ -0,0 +1,143 @@ +# Guidence for Compiling TensorFlow™ Networks +Below you will find general guidance for compiling a TensorFlow™ network that was built for training rather than inference. The general guidance is illustrated with changes to make to the [mnist_deep.py available from the tensorflow github repository](https://github.com/tensorflow/tensorflow/blob/r1.4/tensorflow/examples/tutorials/mnist/mnist_deep.py). The changes are shown as typical diff output where a '-' at the front of a line indicates the line is removed, and a '+' at the front of a line indicates the line should be added. Lines without a '-' or '+' are unchanged and provided for context. + +In order to compile a TensorFlow™ network for the NCS you will need to save a version of the network that is specific to deployment/inference and omits the training features. The following list of steps includes what users need to do to compile a typical TensorFlow™ network for the NCS. Every step may not apply to every network, but should be taken as general guidence. + + +- Make sure there is a name set for the first layer of the network. This is not strictly required but makes compiling much easier because if you don't explicitly name the first and last layer you will need to determine what name those layers were given and provide those to the compiler. For mnist_deep.py you would make the following change for the first node to give it the name "input": + +```python + # Create the model +- x = tf.placeholder(tf.float32, [None, 784]) ++ x = tf.placeholder(tf.float32, [None, 784], name="input") +``` + +- Add tensorflow code to save the trained network. For mnist_deep.py the change to save the trained network is: + +```python ++ saver = tf.train.Saver() ++ + with tf.Session() as sess: +... + + print('test accuracy %g' % accuracy.eval(feed_dict={ + x: mnist.test.images, y_: mnist.test.labels, keep_prob: 1.0})) ++ ++ graph_location = "." ++ save_path = saver.save(sess, graph_location + "/mnist_model") +``` + +- Run the code to train the network and make sure saver.save() is called to save the trained network. After the program completes, if it was successful, saver.save() will have created the following files: + - mnist_model.index + - mnist_model.data-00000-of-00001 + - mnist_model.meta + +- Remove training specific code from the network, and add code to read in the previously saved network to create an inference only version. For this step its advised that you copy the original tensorflow code to a new file and modify the new file. For example if you are working with mnist_deep.py you could copy that to mnist_deep_inference.py. Things to remove from the inference code are: + - Dropout layers + - Training specific code + - Reading or importing training and testing data + - Cross entropy/accuracy code + - Placeholders except the input tensor. + +The ncsdk compiler does not resolve unknown placeholders. Often extra placeholders are used for training specific variables so they are not necessary for inference. Placeholder variables that cannot be removed should be replaced by constants in the inference graph. + + +For mnist_deep.py you would make the following changes + +```python +import tempfile +- from tensorflow.examples.tutorials.mnist import input_data + +... +- # Dropout - controls the complexity of the model, prevents co-adaptation of +- # features. +- with tf.name_scope('dropout'): +- keep_prob = tf.placeholder(tf.float32) +- h_fc1_drop = tf.nn.dropout(h_fc1, keep_prob) + +... + +- y_conv = tf.matmul(h_fc1_drop, W_fc2) + b_fc2 +- return y_conv, keep_prob ++ y_conv = tf.matmul(h_fc1, W_fc2) + b_fc2 ++ return y_conv + +... + +- # Import data +- mnist = input_data.read_data_sets(FLAGS.data_dir, one_hot=True) + +... + +- # Define loss and optimizer +- y_ = tf.placeholder(tf.float32, [None, 10]) + +... + + # Build the graph for the deep net +- y_conv, keep_prob = deepnn(x) ++ # No longer need keep_prob since removing dropout layers. ++ y_conv = deepnn(x) + +... + +- with tf.name_scope('loss'): +- cross_entropy = tf.nn.softmax_cross_entropy_with_logits(labels=y_, +- logits=y_conv) +- cross_entropy = tf.reduce_mean(cross_entropy) +- +- with tf.name_scope('adam_optimizer'): +- train_step = tf.train.AdamOptimizer(1e-4).minimize(cross_entropy) +- +- with tf.name_scope('accuracy'): +- correct_prediction = tf.equal(tf.argmax(y_conv, 1), tf.argmax(y_, 1)) +- correct_prediction = tf.cast(correct_prediction, tf.float32) +- accuracy = tf.reduce_mean(correct_prediction) +- +- graph_location = tempfile.mkdtemp() +- print('Saving graph to: %s' % graph_location) +- train_writer = tf.summary.FileWriter(graph_location) +- train_writer.add_graph(tf.get_default_graph()) ++ ++ saver = tf.train.Saver(tf.global_variables()) ++ + with tf.Session() as sess: + sess.run(tf.global_variables_initializer()) ++ sess.run(tf.local_variables_initializer()) ++ # read the previously saved network. ++ saver.restore(sess, '.' + '/mnist_model') ++ # save the version of the network ready that can be compiled for NCS ++ saver.save(sess, '.' + '/mnist_inference') + +- for i in range(5000): +- batch = mnist.train.next_batch(50) +- if i % 100 == 0: +- train_accuracy = accuracy.eval(feed_dict={ +- x: batch[0], y_: batch[1], keep_prob: 1.0}) +- print('step %d, training accuracy %g' % (i, train_accuracy)) +- train_step.run(feed_dict={x: batch[0], y_: batch[1], keep_prob: 0.5}) +- +- print('test accuracy %g' % accuracy.eval(feed_dict={ +- x: mnist.test.images, y_: mnist.test.labels, keep_prob: 1.0})) +- save_path = saver.save(sess, "./model.ckpt") +``` + +- Make sure the last node is named. As with the first node, this is not strictly required but you need to know the name to compile it. This is the change to make to mnist_deep.py in order to have a last softmax layer with a node name of "output": + +```python + # Build the graph for the deep net +- y_conv, keep_prob = deepnn(x) ++ y_conv = deepnn(x) ++ output = tf.nn.softmax(y_conv, name='output') +``` + +- Run the inference version of the code to save a session that is suitable for compiling via the ncsdk compiler. This will only take a second since its not actually training the network, just resaving it in an NCS-friendly way. After you run, if successfull, the following files will be created. + - mnist_inference.index + - mnist_inference.data-00000-of-00001 + - mnist_inference.meta + +- Compile the final saved network with the following command and if it all works you should see the mnist_inference.graph file created in the current directory. Note you pass in only the weights file prefix "mnist_inference" for the -w option for a TensorFlow network on the compile command line. The full command is below. + +```bash +mvNCCompile mnist_inference.meta -w mnist_inference -s 12 -in input -on output -o mnist_inference.graph +``` diff --git a/docs/tools/check.md b/docs/tools/check.md index 498d6f1..ec39978 100644 --- a/docs/tools/check.md +++ b/docs/tools/check.md @@ -8,7 +8,7 @@ Revision|1.08 See also| [mvNCCompile](compile.md), [mvNCProfile](profile.md), [TensorFlow™ Info](../TensorFlowUsage.md) ## Overview -This command line tool checks the results for an inference on the connected Intel® Movidius™ Neural Compute Stick (Intel® Movidius™ NCS) vs. the caffe results on the host computer for the provided network. +This command line tool validates (checks) a Caffe or TensorFlow™ nerual network on the Intel® Movidius™ Neural Compute Stick (Intel® Movidius™ NCS.) The check is done by running an inference on the NCS and also on the host computer in software using the supplied network and appropriate framework libraries. The results for both inferences (NCS results vs. framework's expected results) are compared to determine a if the network passes or fails and the top 5 inference results are provided as output. ## Syntax @@ -26,7 +26,8 @@ mvNCCheck network.meta [-s Max Number of Shaves] [-in Input Node Name] [-on Outp Argument|Description ------------ | ------------- network.prototxt(caffe)
      network.meta(TensorFlow™)|Name of the network file. -[-w weights_file]|Weights filename from training. (Only applies to Caffe, not to be used with TensorFlow™.) If omitted, zero weights will be used. +[-h --help] | Display help for the command +[-w weights_file]|Weights filename from training. For Caffe this is the .caffemodel file name. For TensorFlow™ it must be the network name prefix. If omitted zero weights will be used for Caffe models. [-s Max # of Shaves]|Default: 1

      Selects the maximum number of SHAVEs (1,2,4,8, or 12) to use for network layers.

      Note: The NCS runtime code may use less than the MAX SHAVE value for some layers where measurements have typically shown no inference performance degradation (and consequently a power benefit) of using fewer SHAVEs. [-in Input Node Name]|By default the network is processed from the input tensor. This option allows a user to select an alternative start point in the network.

      This enables partial network processing. When used together with the -on option, a user can isolate one or more layers in a network for analysis. [-on Output Node Name]|By default the network is processed through to the output tensor. This option allows a user to select an alternative end point in the network.

      This enables partial network processing. When used together with the -in option, a user can isolate one or more layers in a network for analysis. diff --git a/docs/tools/compile.md b/docs/tools/compile.md index 7143d88..d1d89ea 100644 --- a/docs/tools/compile.md +++ b/docs/tools/compile.md @@ -15,21 +15,22 @@ during runtime using the NCSDK API. The graph file then can be executed by sendi ### Caffe ```bash -mvNCCompile network.prototxt [-w weights_file] [-s Max Number of Shaves] [-in Input Node Name] [-on Output Node Name] [-is Input-Width Input-Height] [-o Output Graph Filename] +mvNCCompile network.prototxt [-w network.caffemodel] [-s Max Number of Shaves] [-in Input Node Name] [-on Output Node Name] [-is Input-Width Input-Height] [-o Output Graph Filename] ``` ### TensorFlow™ ```bash -mvNCCompile network.meta [-s Max Number of Shaves] [-in Input Node Name] [-on Output Node Name] [-is Input-Width Input-Height] [-o Output Graph Filename] +mvNCCompile network.meta [-w network] [-s Max Number of Shaves] [-in Input Node Name] [-on Output Node Name] [-is Input-Width Input-Height] [-o Output Graph Filename] ``` Argument|Description ------------ | ------------- network.prototxt(Caffe)
      network.meta(TensorFlow™)|Name of the network file. -[-w weights_file]|Weights filename from training (only applies to Caffe, not to be used with TensorFlow™.) If omitted, zero weights will be used. +[-w weights_file]|Weights filename from training. For Caffe this is typically the .caffemodel file. For TensorFlow this is typically the network.data-xxx-of-yyy file, but you should only put the prefix of that file. ie. "network". If omitted, zero weights will be used. [-s Max # of Shaves]|Default: 1

      Selects the maximum number of SHAVEs (1, 2, 4, 8, or 12) to use for network layers.

      Note: The NCS runtime code may use less than the MAX SHAVE value for some layers where measurements have typically shown no inference performance degradation (and consequently a power benefit) of using fewer SHAVEs. -[-in Input Node Name]|By default the network is processed from the input tensor. This option allows a user to select an alternative start point in the network.

      This enables partial network processing. When used together with the -on option, a user can isolate one or more layers in a network for analysis. -[-on Output Node Name]|By default the network is processed through to the output tensor. This option allows a user to select an alternative end point in the network.

      This enables partial network processing. When used together with the -in option, a user can isolate one or more layers in a network for analysis. Note: Beware that the parser stops at the first instance of the output node name (e.g., a Relu following a Conv will not be processed if it shares the same name). -[-is Input-Width Input-Height]|Input size is typically described as a part of the network. For networks that do not have dimension constraints on the input tensor, this option can be used to set the desired input dimensions.

      Only two dimensions are defined because the batch size is always 1 and the number of color planes is assumed to be 3. +[-in Input Node Name]|By default the network is processed from the input tensor. This option allows a user to select an alternative start point in the network.

      This enables partial network processing. When used together with the -on option, a user can isolate one or more layers in a network for analysis. Use the name parameter available for most tensorflow layers for the first node when creating your network and pass this name into this option. For example if this is your first layer x = tf.placeholder(tf.float32, [1, 784], name='input') then you can use "-in input" +[-on Output Node Name]|By default the network is processed through to the output tensor. This option allows a user to select an alternative end point in the network.

      This enables partial network processing. When used together with the -in option, a user can isolate one or more layers in a network for analysis. Note: Beware that the parser stops at the first instance of the output node name (e.g., a Relu following a Conv will not be processed if it shares the same name). Use the name parameter for most tensorflow layers to specify the name of the node. To add an output node with a known name that doesn't change the network you can use the following. +output = tensorflow.identity(prev_tensor, name='output') +[-is Input-Width Input-Height]|Input size is typically described as a part of the network. For networks that do not have dimension constraints on the input tensor, this option can be used to set the desired input dimensions.

      Only two dimensions are defined because the batch size is always 1 and the number of color planes is assumed to be 3. if the number of color planes for the network is is not 3, this will need to be described as part of the network and the -is option can not be used. [-o Output Graph Filename]|Default: "graph"

      Output graph container filename. If not provided, “graph” will be used. ## Known Issues From 8cf81a94df3972d3cb6d0cf4e3bf855c65b6ec07 Mon Sep 17 00:00:00 2001 From: Keith Mok Date: Wed, 7 Mar 2018 12:06:09 -0800 Subject: [PATCH 16/16] Fix race condition in Makefile Fix the following error: =========== make install ./uninstall-opencv.sh make: execvp: ./uninstall-opencv.sh: Text file busy Makefile:27: recipe for target 'uninstallopencv' failed make: *** [uninstallopencv] Error 127 The problem is that Makefile will run in parallel, and chmod and execvp just run at the same time will trigger this. git support +x natively. Just checkin the code with +x permission and remove the chown hack in the Makefile --- Makefile | 4 ---- install-opencv.sh | 0 install.sh | 0 uninstall.sh | 0 4 files changed, 4 deletions(-) mode change 100644 => 100755 install-opencv.sh mode change 100644 => 100755 install.sh mode change 100644 => 100755 uninstall.sh diff --git a/Makefile b/Makefile index caf958c..edd2cb7 100644 --- a/Makefile +++ b/Makefile @@ -37,10 +37,6 @@ prereqs: @sed -i 's/\r//' install.sh @sed -i 's/\r//' uninstall.sh @sed -i 's/\r//' README.md - @chmod +x install.sh - @chmod +x uninstall.sh - @chmod +x install-opencv.sh - @chmod +x uninstall-opencv.sh .PHONY: install install: prereqs uninstallopencv diff --git a/install-opencv.sh b/install-opencv.sh old mode 100644 new mode 100755 diff --git a/install.sh b/install.sh old mode 100644 new mode 100755 diff --git a/uninstall.sh b/uninstall.sh old mode 100644 new mode 100755