инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это

What Is Machine Learning Inference?

Machine learning (ML) inference is the process of running live data points into a machine learning algorithm (or β€œML model”) to calculate an output such as a single numerical score. This process is also referred to as β€œoperationalizing an ML model” or β€œputting an ML model into production.” When an ML model is running in production, it is often then described as artificial intelligence (AI) since it is performing functions similar to human thinking and analysis. Machine learning inference basically entails deploying a software application into a production environment, as the ML model is typically just software code that implements a mathematical algorithm. That algorithm makes calculations based on the characteristics of the data, known as β€œfeatures” in the ML vernacular.

An ML lifecycle can be broken up into two main, distinct parts. The first is the training phase, in which an ML model is created or β€œtrained” by running a specified subset of data into the model. ML inference is the second phase, in which the model is put into action on live data to produce actionable output. The data processing by the ML model is often referred to as β€œscoring,” so one can say that the ML model scores the data, and the output is a score.

ML inference is generally deployed by DevOps engineers or data engineers. Sometimes the data scientists, who are responsible for training the models, are asked to own the ML inference process. This latter situation often causes significant obstacles in getting to the ML inference stage, since data scientists are not necessarily skilled at deploying systems. Successful ML deployments often are the result of tight coordination between different teams, and newer software technologies are also often deployed to try to simplify the process. An emerging discipline known as β€œMLOps” is starting to put more structure and resources around getting ML models into production and maintaining those models when changes are needed.

How Does Machine Learning Inference Work?

To deploy a machine learning inference environment, you need three main components in addition to the model:

The data sources are typically a system that captures the live data from the mechanism that generates the data. For example, a data source might be an Apache Kafka cluster that stores data created by an Internet of Things (IoT) device, a web application log file, or a point-of-sale (POS) machine. Or a data source might simply be a web application that collects user clicks and sends data to the system that hosts the ML model.

The host system for the ML model accepts data from the data sources and inputs the data into the ML model. It is the host system that provides the infrastructure to turn the code in the ML model into a fully operational application. After an output is generated from the ML model, the host system then sends that output to the data destinations. The host system can be, for example, a web application that accepts data input via a REST interface, or a stream processing application that takes an incoming feed of data from Apache Kafka to process many data points per second.

The data destinations are where the host system should deliver the output score from the ML model. A destination can be any type of data repository like Apache Kafka or a database, and from there, downstream applications take further action on the scores. For example, if the ML model calculates a fraud score on purchase data, then the applications associated with the data destinations might send an β€œapprove” or β€œdecline” message back to the purchase site.

Challenges of Machine Learning Inference

As mentioned earlier, the work in ML inference can sometimes be misallocated to the data scientist. If given only a low-level set of tools for ML inference, the data scientist may not be successful in the deployment.

Additionally, DevOps and data engineers are sometimes not able to help with deployment, often due to conflicting priorities or a lack of understanding of what’s required for ML inference. In many cases, the ML model is written in a language like Python, which is popular among data scientists, but the IT team is more well-versed in a language like Java. This means that engineers must take the Python code and translate it to Java to run it within their infrastructure. In addition, the deployment of ML models requires some extra coding to map the input data into a format that the ML model can accept, and this extra work adds to the engineers’ burden when deploying the ML model.

Also, the ML lifecycle typically requires experimentation and periodic updates to the ML models. If deploying the ML model is difficult in the first place, then updating models will be almost as difficult. The whole maintenance effort can be difficult, as there are business continuity and security issues to address.

Another challenge is attaining suitable performance for the workload. REST-based systems that perform the ML inference often suffer from low throughput and high latency. This might be suitable for some environments, but modern deployments that deal with IoT and online transactions are facing huge loads that can overwhelm these simple REST-based deployments. And the system needs to be able to scale to not only handle growing workloads but to also handle temporary load spikes while retaining consistent responsiveness.

When pursuing a machine learning strategy, technology choice is very important to address these challenges. Hazelcast is an example of a software vendor that provides in-memory and streaming technologies that are well-suited for deploying ML inference. Open source editions are available to try out the technology with no commitment.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠžΡ†Π΅Π½ΠΊΠ° эффСктивности инфСрСнса Π½Π΅ΠΉΡ€ΠΎΠ½Π½Ρ‹Ρ… сСтСй

инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π€ΠΎΡ‚ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это

Π Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ Ρ€Ρ‹Π½ΠΊΠ° Π½Π΅ΠΉΡ€ΠΎΠ½Π½Ρ‹Ρ… сСтСй ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ ΠΏΠΎΠ΄ собой ΡƒΠ΄Π΅ΡˆΠ΅Π²Π»Π΅Π½ΠΈΠ΅ стоимости ΠΆΠ΅Π»Π΅Π·Π° ΠΏΡ€ΠΈ постоянном ростС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ нСйронная ΡΠ΅Ρ‚ΡŒ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Ρ‚Ρ€ΠΈ ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹Ρ… этапа: ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅, Π΄Π΅ΠΏΠ»ΠΎΠΉ ΠΈ инфСрСнс. Если ΠΏΡ€ΠΎ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈ Π΄Π΅ΠΏΠ»ΠΎΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° Π² сСти прСдостаточно, Ρ‚ΠΎ инфСрСнс β€” нСраскрытая Ρ‚Π΅ΠΌΠ°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ стоит Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ.

Π˜Π½Ρ„Π΅Ρ€Π΅Π½Ρ

Π˜Π½Ρ„Π΅Ρ€Π΅Π½ΡΠΎΠΌ называСтся нСпрСрывная Ρ€Π°Π±ΠΎΡ‚Π° ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Π½Π΅ΠΉΡ€ΠΎΠ½Π½ΠΎΠΉ сСти Π½Π° ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ устройствС. Π˜Π½Ρ„Π΅Ρ€Π΅Π½Ρ выполняСтся для ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Ρ€Π°Π·Π½Ρ‹Ρ… Π½Π΅ΠΉΡ€ΠΎΠ½Π½Ρ‹Ρ… сСтСй, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ β€” для распознавания ΠΌΠ°Ρ€ΠΎΠΊ, ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ транспортных срСдств, Π»ΠΈΡ†, голосов, Π°Π½Π°Π»ΠΈΠ·Π° тСкстовых ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ. Π’ΠΎ Π΅ΡΡ‚ΡŒ, это процСсс исполнСния сСти, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½Π° ΡƒΠΆΠ΅ Π³ΠΎΡ‚ΠΎΠ²Π° ΠΊ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡŽ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Для инфСрСнса ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ процСссоры ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния CPU, графичСскиС процСссоры GPU, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹.

Π˜Π½Ρ„Π΅Ρ€Π΅Π½Ρ Π½Π° CPU

Π’ случаС использования CPU, инфСрСнс выполняСтся Π½Π° логичСских ядрах процСссора, число ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π°Π²Π½ΠΎ числу физичСских ядСр ΠΈΠ»ΠΈ, ΠΏΡ€ΠΈ использовании Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Hyper-threading, ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΎ Π²Π΄Π²ΠΎΠ΅. РСшСния Π½Π° соврСмСнных многоядСрных процСссорах достаточно Π΄ΠΎΡ€ΠΎΠ³ΠΈ, Π° использованиС CPU Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… (Π³Π»ΡƒΠ±ΠΎΠΊΠΈΡ…) нСйросСтях нСэффСктивно ΠΈΠ·-Π·Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ объСма кэша процСссора ΠΈ нСобходимости ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ с ΠžΠ—Π£, Ρ‡Ρ‚ΠΎ сущСствСнно влияСт Π½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ограничСния Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ΡΡ самой Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ β€” Π² процСссС инфСрСнса Ρ€Π΅ΡˆΠ°ΡŽΡ‚ΡΡ простыС Π·Π°Π΄Π°Ρ‡ΠΈ сравнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π»Π΅Π³ΠΊΠΎ пСрСносятся Π½Π° ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Π΅ вычислСния, Π½ΠΎ количСство ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ всСгда Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ количСством логичСских ядСр CPU.

Π˜Π½Ρ„Π΅Ρ€Π΅Π½Ρ Π½Π° GPU

ΠžΡ†Π΅Π½ΠΊΠ° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ инфСрСнса

Π˜Π½Ρ„Π΅Ρ€Π΅Π½Ρ β€” процСсс нСслоТный, Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ стСпСни Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ, ΠΎΠ΄Π½Π°ΠΊΠΎ рост слоТности Π½Π΅ΠΉΡ€ΠΎΠ½Π½ΠΎΠΉ сСти ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΌΡƒ росту Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для инфСрСнса рСсурсов. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π²ΠΏΠΎΠ»Π½Π΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ ΡƒΠΏΠ΅Ρ€Π΅Ρ‚ΡŒΡΡ Π² ΠΏΠΎΡ‚ΠΎΠ»ΠΎΠΊ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ систСмы ΠΈΠ»ΠΈ ΠΊΠ°Π½Π°Π»Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Из этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌΠΈ видятся Π΄Π²Π° Π²Ρ‹Ρ…ΠΎΠ΄Π° β€” ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΊ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹ΠΌ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ мощностям, Ссли ΠΊΠ°Π½Π°Π» ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… позволяСт, ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ Π½Π° мСстС, увСличивая Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Но ΠΈ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΈ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ случаС Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΎΡ†Π΅Π½ΠΊΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ устройств, ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‰ΠΈΡ… инфСрСнс. Π’Π΅Π΄ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ странным, Ссли Π½Π΅ΠΉΡ€ΠΎΡΠ΅Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π½ΠΎ для Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ трСбуСтся систСма ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΡŽ ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ€Ρ‚Π²Ρ‹Ρ… амСриканских ΠΏΡ€Π΅Π·ΠΈΠ΄Π΅Π½Ρ‚ΠΎΠ².

ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ устройств всСгда Π½Π°Ρ†Π΅Π»Π΅Π½Ρ‹ Π½Π° ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΄Π°ΠΆ. ΠœΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠΈ тСстирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚, Π±Ρ‹Π²Π°ΡŽΡ‚ ΠΎΡ‡Π΅Π½ΡŒ своСобразными, ΠΊΠ°ΠΊ ΠΈ Π²Ρ‹Π²ΠΎΠ΄Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅Π»Π°ΡŽΡ‚ΡΡ Π½Π° Π±Π°Π·Π΅ Ρ‚Π°ΠΊΠΈΡ… тСстов. НапримСр, ΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ количСство логичСских ядСр Ρ€Π°Π·Π½Ρ‹Ρ… устройств, заявляя, Ρ‡Ρ‚ΠΎ количСство ядСр ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π΅ΡˆΠ°ΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, хотя понятно, Ρ‡Ρ‚ΠΎ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ дСсяток Intel 80486 Π΄Π°ΠΆΠ΅ с ΠΎΠ΄Π½ΠΈΠΌ Intel i5 мягко говоря нСэтично. ΠŸΡ‹Ρ‚Π°Π»ΠΈΡΡŒ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ количСство ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ², Π³ΠΎΡ€Π΄ΠΎ заявляя, Ρ‡Ρ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ 100 ΠΊΠ°Π½Π°Π»ΠΎΠ², Ρ‚Π°ΠΊΡ‚ΠΈΡ‡Π½ΠΎ замалчивая, Ρ‡Ρ‚ΠΎ эти ΠΏΠΎΡ‚ΠΎΠΊΠΈ – 240p. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ измСрял Π² своих попугаях, ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· этих ΠΏΠΎΠΏΡƒΠ³Π°Π΅Π² c Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния производитСля Π±Ρ‹Π» Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ.

ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ для практичСского примСнСния Ρ‚Π°ΠΊΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠΈ Π½Π΅ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½Ρ‹. ΠœΡ‹ β€” компания Combox Technology, ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ оборудования, Π½ΡƒΠΆΠ΄Π°Π»ΠΈΡΡŒ Π² ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… характСристиках, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ позволяли Π±Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΎΡ†Π΅Π½ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Π΅Ρ‡Π½ΡƒΡŽ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ эксплуатации систСмы. ΠœΡ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΊ стоимости β€” Ρ‚ΠΎΠΉ характСристикС, которая прямо связана с ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ. Π‘Ρ‹Π»ΠΎ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΎ исслСдованиС скорости сСтСй Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΠΉ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π²ΠΈΠ΄Π°Ρ… устройств (процСссоры ΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Ρ‹) с привязкой ΠΊ стоимости. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с Π½ΠΈΠΌ ΠΏΠΎ ссылкС. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ нас интСрСсовали β€” это Ρ†Π΅Π½Π° Π·Π° FPS (frame per second) ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ (relative FPS).

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ ΠΎΡ‡Π΅Π½ΡŒ интСрСсныС. ИмСнно ΠΈΡ… ΠΌΡ‹ использовали ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½Π°ΡˆΠΈΡ… устройств для инфСрСнса. ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ инфСрСнса ΠΏΡ€ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ стоимости FPS ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π° ΠΎΠ΄Π½ΠΎΠΏΠ»Π°Ρ‚Π½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ (SBC) Intel NUC8i5BEK, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π° Π½ΠΈΡ… Π² ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΌΠ΅Ρ€Π΅ раскрываСтся ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π» совмСстного ΠΈΠ½Ρ„Π΅Ρ€Π΅Π½Π° Π½Π° CPU ΠΈ GPU. ИмСнно ΠΏΠΎ этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ ΠΌΡ‹ использовали это устройство Π² Π½Π°ΡˆΠΈΡ… устройствах SBC NUC Server. Для Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ устройства OutdoorBox NUC ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Intel NUC4i5MYHE.

Π­Ρ‚ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ создавались ΠΊΠ°ΠΊ Ρ€Π°Π· для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ боль, ΠΎΠΏΠΈΡΠ°Π½Π½ΡƒΡŽ Π² Π½Π°Ρ‡Π°Π»Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ β€” максимальная ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ с максимальной ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ†Π΅Π½ΠΊΠΈ.

Π§Ρ‚ΠΎ ΠΆΠ΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅?

OutdoorBox NUC β€” Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для инфСрСнса Π½Π° ΠΊΡ€Π°ΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ нСобходимости ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ, Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΡ€ΠΈ минимальной стоимости внСдрСния ΠΈ эксплуатации. Устройство Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ Π²ΠΎ всСпогодном исполнСнии IP66, ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ Π½ΠΈΠ·ΠΊΠΈΠΌ энСргопотрСблСниСм (30Π’Ρ‚) ΠΈ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ Π²Π΅Π»ΠΈΠΊΠΎΠ»Π΅ΠΏΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΈ Π½ΠΈΠ·ΠΊΠΎΠΉ стоимости. Одно устройство способно ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ эффСктивно Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с 10 ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ FullHD 15fps.

Для ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ сСгмСнта ΠΏΡ€ΠΈ потрСбностях Π² высоких Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… мощностях ΠΌΡ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ SBC NUC Server, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² ΠΎΠ΄Π½ΠΎΠΌ корпусС Π΄ΠΎ 8 устройств NUC8i5BEK ΠΈ обСспСчиваСт ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π΄ΠΎ 80 ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² FullHD 15fps.

ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΈΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π½Π΅ ΠΈΠ·-Π·Π° простого интСрСса ΠΊ экспСримСнтам. ΠœΡ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌ, ΠΎΠ±ΡƒΡ‡Π°Π΅ΠΌ ΠΈ эксплуатируСм Π½Π΅ΠΉΡ€ΠΎΠ½Π½Ρ‹Π΅ сСти, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Ρ†Π΅Π»Π΅ΠΉ распознавания ΠΌΠ°Ρ€ΠΎΠΊ ΠΈ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ транспортных срСдств, Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… Π·Π½Π°ΠΊΠΎΠ². Для классификации ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π΅ΠΉΡ€ΠΎΠ½Π½ΡƒΡŽ ΡΠ΅Ρ‚ΡŒ Π½Π° Ρ‚ΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΠΈ YOLO (You Only Look Once), которая построСна Π½Π° Π΅Π΅ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½ΠΎΠΉ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ DarkNet19, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΡƒΡŽ 19 слоСв, Π²Π·Π°ΠΌΠ΅Π½ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… 25, ΠΈ Π½Π΅ΠΉΡ€ΠΎΠ½Π½ΡƒΡŽ ΡΠ΅Ρ‚ΡŒ Π½Π° Ρ‚ΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΠΈ UNET для дСтСктирования. РСшСниС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² коммСрчСском ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π΅ EDGE с MMR (Make and Model Recognition) ΠΈ LPR (Licence Plate Recognition), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ эксплуатируСтся ΠΏΠΎ всСму ΠΌΠΈΡ€Ρƒ – Π² Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΠ»ΠΈΡ†ΠΈΠΈ ΠšΠΎΠ»ΡƒΠΌΠ±ΠΈΠΈ, МСксики, БСлоруссии, Π“Ρ€ΡƒΠ·ΠΈΠΈ, Π‘ΠΎΠ»Π³Π°Ρ€ΠΈΠΈ, Ρ‚Π°ΠΌΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°Ρ… Π£ΠΊΡ€Π°ΠΈΠ½Ρ‹, АзСрбайдТана, систСмах городского видСонаблюдСния АргСнтины, Омана, ΠšΠ°Π·Π°Ρ…ΡΡ‚Π°Π½Π°. Π­Ρ„Ρ„Π΅ΠΊΡ‚ ΠΎΡ‚ внСдрСния SBC NUC Server Π±Ρ‹Π» ΠΎΡ‡Π΅Π½ΡŒ сущСствСнным ΠΈ осязаСмым – Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ GPU-сСрвСров Π½Π° Π±Π°Π·Π΅ Tesla T4, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Ρ€Π°Π½Π΅Π΅, ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΡŽ 1 200 000 Ρ€ΡƒΠ±Π»Π΅ΠΉ, нашС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ дСшСвлС Π½Π° 500 000 Ρ€ΡƒΠ±Π»Π΅ΠΉ, энСргопотрСблСниС вмСсто 2 ΠΊΠ’Ρ‚ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ составляСт всСго 500 Π’Ρ‚. ΠŸΡ€ΠΈ этом экономится мСсто Π² стойках – GPU-сСрвСра ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ 2U-4U, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ 1U Π² нашСм случаС. Π§Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ – ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° стандартной элСмСнтной Π±Π°Π·Π΅, Ρ‡Ρ‚ΠΎ позволяСт Π² случаС нСобходимости ΠΏΠ΅Ρ€Π΅ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ устройство ΠΏΠΎΠ΄ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΡ€ΠΎΠΌΠ΅ инфСрСнса (кластСрныС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, web-сСрвСр ΠΈ ΠΏΡ€.)

А ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡŒ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ²Π΅Ρ€Π΅Π½ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹Ρ… ΠΎΡ†Π΅Π½ΠΎΠΊ β€” ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ измСряСтся Π² Π΄Π΅Π½ΡŒΠ³Π°Ρ… β€” самых ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… попугаях.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

TensorRT 6.x.x.x β€” Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ инфСрСнс для ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ обучСния (Object Detection ΠΈ Segmentation)

инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π€ΠΎΡ‚ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это
Π‘ΠΎΠ»ΡŒΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π°Π·!

ВсСм ΠΏΡ€ΠΈΠ²Π΅Ρ‚! Π”ΠΎΡ€ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ·ΡŒΡ, Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я Ρ…ΠΎΡ‡Ρƒ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ своим ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ использования TensorRT, RetinaNet Π½Π° Π±Π°Π·Π΅ рСпозитория github.com/aidonchuk/retinanet-examples (это Ρ„ΠΎΡ€ΠΊ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π΅ΠΏΡ‹ ΠΎΡ‚ nvidia, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠΈΠ΅ сроки). ΠŸΡ€ΠΎΠ»ΠΈΡΡ‚Ρ‹Π²Π°Ρ сообщСния Π² ΠΊΠ°Π½Π°Π»Π°Ρ… сообщСства ods.ai, я ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡΡŒ с вопросами ΠΏΠΎ использованию TensorRT, ΠΈ Π² основном вопросы ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‚ΡΡ, поэтому я Ρ€Π΅ΡˆΠΈΠ» Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½ΠΎΠ΅ руководство ΠΏΠΎ использованию быстрого инфСрСнса Π½Π° основС TensorRT, RetinaNet, Unet ΠΈ docker.

ОписаниС Π·Π°Π΄Π°Ρ‡ΠΈ

ΠŸΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ датасСт, ΠΎΠ±ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π° Π½Ρ‘ΠΌ ΡΠ΅Ρ‚ΡŒ RetinaNet/Unet Π½Π° Pytorch1.3+, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ вСса Π² ONNX, Π΄Π°Π»Π΅Π΅ ΡΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² engine TensorRT ΠΈ всё это Π΄Π΅Π»ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π² docker, ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π° Ubuntu 18 ΠΈ ΠΊΡ€Π°ΠΉΠ½Π΅ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π° ARM(Jetson)* Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅, Ρ‚Π΅ΠΌ самым минимизируя Ρ€ΡƒΡ‡Π½ΠΎΠ΅ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ окруТСния. Π’ ΠΈΡ‚ΠΎΠ³Π΅ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ экспорту ΠΈ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΡŽ RetinaNet/Unet, Π½ΠΎ ΠΈ ΠΊ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΡŽ классификации, сСгмСнтации со всСй Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ обвязкой.

Π­Ρ‚Π°ΠΏ 1. ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° окруТСния

Π—Π΄Π΅ΡΡŒ Π²Π°ΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² послСднСС врСмя я ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡƒΡˆΡ‘Π» ΠΎΡ‚ использования ΠΈ развСртывания Ρ…ΠΎΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π½Π° desktop машинС, ΠΊΠ°ΠΊ Π²ΠΏΡ€ΠΎΡ‡Π΅ΠΌ ΠΈ Π½Π° devbox. ЕдинствСнноС, Ρ‡Ρ‚ΠΎ приходится ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ β€” это python virtual environment ΠΈ cuda 10.2 (ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒΡΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠΌ nvidia) ΠΈΠ· deb.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ вас свСТСустановлСнная Ubuntu 18. Установим cuda 10.2(deb), ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Π½Π° процСссС установки я ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π΅ Π±ΡƒΠ΄Ρƒ, ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π²ΠΏΠΎΠ»Π½Π΅ достаточно.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ установим docker, руководство ΠΏΠΎ установкС Π΄ΠΎΠΊΠ΅Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π½Π°ΠΉΡ‚ΠΈ, Π²ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ www.digitalocean.com/community/tutorials/docker-ubuntu-18-04-1-ru, ΡƒΠΆΠ΅ доступна 19+ вСрсия β€” ставим Π΅Ρ‘. Ну ΠΈ Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ использования docker Π±Π΅Π· sudo, Ρ‚Π°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅. ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ всё ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ, Π΄Π΅Π»Π°Π΅ΠΌ Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

И ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°ΠΆΠ΅ Π½Π΅ Π·Π°Π³Π»ΡΠ΄Ρ‹Π²Π°Ρ‚ΡŒ Π² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ github.com/NVIDIA/nvidia-docker.

ΠžΡΡ‚Π°Π»ΠΎΡΡŒ совсСм Ρ‡ΡƒΡ‚ΡŒ-Ρ‡ΡƒΡ‚ΡŒ, для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ docker с nvidia-ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π½Π°ΠΌ потрСбуСтся Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² NGC Cloud ΠΈ Π·Π°Π»ΠΎΠ³ΠΈΠ½ΠΈΡ‚ΡŒΡΡ. Π˜Π΄Ρ‘ΠΌ сюда ngc.nvidia.com, рСгистрируСмся ΠΈ послС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΠΏΠ°Π΄Π°Π΅ΠΌ Π²Π½ΡƒΡ‚Ρ€ΡŒ NGC Cloud, ΠΆΠΌΡ‘ΠΌ SETUP Π² Π»Π΅Π²ΠΎΠΌ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΠ³Π»Ρƒ экрана ΠΈΠ»ΠΈ ΠΏΡ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΏΠΎ этой ссылкС ngc.nvidia.com/setup/api-key. Π–ΠΌΡ‘ΠΌ Β«ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡Β». Π•Π³ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ, ΠΈΠ½Π°Ρ‡Π΅ ΠΏΡ€ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ посСщСнии Π΅Π³ΠΎ придётся Π³Π΅Π½Π΅Ρ€ΠΈΡ‚ΡŒ Π·Π°Π½ΠΎΠ²ΠΎ ΠΈ, соотвСтствСнно, разворачивая Π½Π° Π½ΠΎΠ²ΠΎΠΉ Ρ‚Π°Ρ‡ΠΊΠ΅, ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ эту ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ.

Username просто ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ. Ну Π²ΠΎΡ‚, считай, срСда Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚Π°!

Π­Ρ‚Π°ΠΏ 2. Π‘Π±ΠΎΡ€ΠΊΠ° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° docker

На Π²Ρ‚ΠΎΡ€ΠΎΠΌ этапС нашСй Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΡ‹ собСрСм docker ΠΈ познакомимся с Π΅Π³ΠΎ внутрСнностями.
ΠŸΠ΅Ρ€Π΅ΠΉΠ΄Ρ‘ΠΌ Π² ΠΊΠΎΡ€Π½Π΅Π²ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ retina-examples ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ

ΠœΡ‹ собираСм docker пробрасывая Π² Π½Π΅Π³ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΡŽΠ·Π΅Ρ€Π° β€” это ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Ссли Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° смонтированный VOLUME с ΠΏΡ€Π°Π²Π°ΠΌΠΈ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΡŽΠ·Π΅Ρ€Π°, ΠΈΠ½Π°Ρ‡Π΅ Π±ΡƒΠ΄Π΅Ρ‚ root ΠΈ боль.

Пока собираСтся docker, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΈΠ·ΡƒΡ‡ΠΈΠΌ Dockerfile:

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· тСкста, ΠΌΡ‹ Π±Π΅Ρ€Π΅ΠΌ всС наши Π»ΡŽΠ±ΠΈΠΌΡ‹Π΅ Π»ΠΈΠ±Ρ‹, ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌ retinanet, Π½Π°ΠΊΠΈΠ΄Ρ‹Π²Π°Π΅ΠΌ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… инструмСнтов для удобства Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ubuntu ΠΈ настраиваСм сСрвСр openssh. ΠŸΠ΅Ρ€Π²ΠΎΠΉ строкой ΠΈΠ΄Π΅Ρ‚ ΠΊΠ°ΠΊ Ρ€Π°Π· наслСдованиС ΠΎΠ±Ρ€Π°Π·Π° nvidia, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΡ‹ Π΄Π΅Π»Π°Π»ΠΈ Π»ΠΎΠ³ΠΈΠ½ Π² NGC Cloud ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит Pytorch1.3, TensorRT6.x.x.x ΠΈ Π΅Ρ‰Π΅ ΠΊΡƒΡ‡Ρƒ Π»ΠΈΠ±, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ cpp исходники нашСго Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΎΡ€Π°.

Π­Ρ‚Π°ΠΏ 3. Запуск ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° docker

ΠŸΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ основному кСйсу использования ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΈ срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, для Π½Π°Ρ‡Π°Π»Π° запустим nvidia docker. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ доступСн ΠΏΠΎ ssh @localhost. ПослС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ запуска, ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π² PyCharm. Π”Π°Π»Π΅Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ

Π¨Π°Π³ 1
инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π€ΠΎΡ‚ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это

Π¨Π°Π³ 2
инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π€ΠΎΡ‚ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это

Π¨Π°Π³ 3
инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π€ΠΎΡ‚ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это

Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ всё ΠΊΠ°ΠΊ Π½Π° ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Π°Ρ…,

β€” это Π±ΡƒΠ΄Π΅Ρ‚ ln Π½Π° Python3.6 ΠΈ

Π–ΠΌΡ‘ΠΌ Ρ„ΠΈΠ½ΠΈΡˆ, ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌ индСксированиС, ΠΈ всё, срСда Π³ΠΎΡ‚ΠΎΠ²Π° ΠΊ использованию!

Π’ΠΠ–ΠΠž. Π‘Ρ€Π°Π·Ρƒ послС индСксирования Π²Ρ‹Ρ‚ΡΠ½ΡƒΡ‚ΡŒ ΠΈΠ· docker скомпилированныС Ρ„Π°ΠΉΠ»Ρ‹ для Retinanet. Π’ контСктсном мСню Π² ΠΊΠΎΡ€Π½Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ ΠΏΡƒΠ½ΠΊΡ‚

ΠŸΠΎΡΠ²ΡΡ‚ΡΡ ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ» ΠΈ Π΄Π²Π΅ ΠΏΠ°ΠΏΠΊΠΈ build, retinanet.egg-info ΠΈ _Π‘.so

инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π€ΠΎΡ‚ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это

Если ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ выглядит Ρ‚Π°ΠΊ, Ρ‚ΠΎ срСда Π²ΠΈΠ΄ΠΈΡ‚ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ ΠΌΡ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹, ΠΊ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΡŽ RetinaNet.

Π­Ρ‚Π°ΠΏ 4. Π Π°Π·ΠΌΠ΅Ρ‡Π°Π΅ΠΌ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΎΠ±ΡƒΡ‡Π°Π΅ΠΌ Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΎΡ€

Для Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ я, Π² основном, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ supervise.ly β€” приятная ΠΈ удобная Ρ‚ΡƒΠ»Π·Π°, Π² послСднСС Π²Ρ€Π΅ΠΌΠ΅ ΠΊΡƒΡ‡Ρƒ косяков пофиксили ΠΈ ΠΎΠ½Π° стала сущСствСнно Π»ΡƒΡ‡ΡˆΠ΅ сСбя вСсти.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ датасСт ΠΈ скачали Π΅Π³ΠΎ, Π½ΠΎ сразу Π·Π°ΡΡƒΠ½ΡƒΡ‚ΡŒ Π΅Π³ΠΎ Π² наш RetinaNet Π½Π΅ Π²Ρ‹ΠΉΠ΄Π΅Ρ‚, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Π² собствСнном Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΠΈ для этого Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² COCO. Π’ΡƒΠ»Π·Π° для ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ находится Π²:

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Category Π² скриптС это ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ свои (ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡŽ background Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π½Π΅ Π½Π°Π΄ΠΎ)

Авторы ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ рСпозитория ΠΏΠΎΡ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ Ρ€Π΅ΡˆΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΊΡ€ΠΎΠΌΠ΅ COCO/VOC Π²Ρ‹ ΠΎΠ±ΡƒΡ‡Π°Ρ‚ΡŒ для Π΄Π΅Ρ‚Π΅ΠΊΡ†ΠΈΠΈ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚Π΅, поэтому ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ исходный Ρ„Π°ΠΉΠ»

Π”ΠΎΠ±Π°Π²ΠΈΠ² Ρ‚ΡƒΡ‚Π΄Π° Π»ΡŽΠ±ΠΈΠΌΡ‹Π΅ Π°ΡƒΠ³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ albumentations.readthedocs.io/en/latest ΠΈ Π²Ρ‹ΠΏΠΈΠ»ΠΈΡ‚ΡŒ Тёстко Π²ΡˆΠΈΡ‚Ρ‹Π΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΠΈΠ· COCO. Π’Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊΡ€ΠΎΠΏΠ½ΡƒΡ‚ΡŒ большиС области Π΄Π΅Ρ‚Π΅ΠΊΡ†ΠΈΠΈ, Ссли Π²Ρ‹ Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°Ρ… ΠΈΡ‰ΠΈΡ‚Π΅ малСнькиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Ρƒ вас малСнький датасСт =), ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π½ΠΎ ΠΎΠ± этом Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ€Π°Π·.

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ train loop Ρ‚ΠΎΠΆΠ΅ слабСнький, ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΎΠ½ Π½Π΅ сохранял Ρ‡Π΅ΠΊΠΏΠΎΠΈΠ½Ρ‚Ρ‹, юзал ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ уТасный scheduler ΠΈ Ρ‚.Π΄. Но Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Π°ΠΌ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ backbone ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ

Π§Ρ‚ΠΎ Π±Ρ‹ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ вСсь Π½Π°Π±ΠΎΡ€ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² посмотритС

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ ΠΎΠ½ΠΈ стандартныС для Π΄Π΅Ρ‚Π΅ΠΊΡ†ΠΈΠΈ, ΠΈ Ρƒ Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ описаниС. ЗапуститС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈ Π΄ΠΎΠΆΠ΄ΠΈΡ‚Π΅ΡΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ². ΠŸΡ€ΠΈΠΌΠ΅Ρ€ инфСрСнса ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²:

ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Π’ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΡƒΠΆΠ΅ встроСн Focal Loss ΠΈ нСсколько backbone, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ Π»Π΅Π³ΠΊΠΎ Π²ΠΏΠΈΠ»ΠΈΠ²Π°ΡŽΡ‚ΡΡ свои

Π’ Ρ‚Π°Π±Π»ΠΈΡ‡ΠΊΠ΅ Π°Π²Ρ‚ΠΎΡ€Ρ‹ приводят Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ характСристики:

инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π€ΠΎΡ‚ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это

Π’Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ backbone ResNeXt50_32x4dFPN ΠΈ ResNeXt101_32x8dFPN, взятый ΠΈΠ· torchvision.
НадСюсь с Π΄Π΅Ρ‚Π΅ΠΊΡ†ΠΈΠ΅ΠΉ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ, Π½ΠΎ стоит ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌΡ‹ экспорта ΠΈ логирования.

Π­Ρ‚Π°ΠΏ 5. Экспорт ΠΈ инфСрСнс ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Unet c энкодСром Resnet

Как Π²Ρ‹, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠ»ΠΈ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π² Dockerfile Π±Ρ‹Π»ΠΈ установлСны Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для сСгмСнтации ΠΈ Π² частности Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ Π»ΠΈΠ±Π° github.com/qubvel/segmentation_models.pytorch. Π’ ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ ΡŽΠ½Π΅Ρ‚ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ инфСрСнса ΠΈ экспорта pytorch Ρ‡Π΅ΠΊΠΏΠΎΠΈΠ½Ρ‚ΠΎΠ² Π² engine TensorRT.

Основная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡ€ΠΈ экспортС Unet-like ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΈΠ· ONNX Π² TensoRT β€” это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ фиксированный Ρ€Π°Π·ΠΌΠ΅Ρ€ Upsample ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ConvTranspose2D:

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого прСобразования ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это автоматичСски ΠΏΡ€ΠΈ экспортС Π² ONNX, Π½ΠΎ ΡƒΠΆΠ΅ Π² 7 вСрсии TensorRT эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Ρ€Π΅ΡˆΠΈΠ»ΠΈ, ΠΈ Π½Π°ΠΌ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ ΠΆΠ΄Π°Ρ‚ΡŒ совсСм Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ.

Когда я Π½Π°Ρ‡Π°Π» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ docker Ρƒ мСня Π±Ρ‹Π»ΠΈ сомнСния Π½Π° счёт Π΅Π³ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ для ΠΌΠΎΠΈΡ… Π·Π°Π΄Π°Ρ‡. Π’ ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΠΌΠΎΠΈΡ… Π°Π³Ρ€Π΅Π³Π°Ρ‚ΠΎΠ² сСйчас довольно большой сСтСвой Ρ‚Ρ€Π°Ρ„ΠΈΠΊ создаваСмый нСсколькими ΠΊΠ°ΠΌΠ΅Ρ€Π°ΠΌΠΈ.

инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π€ΠΎΡ‚ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это

Π Π°Π·Π½Ρ‹Π΅ тСсты Π½Π° просторах ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π° Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ ΠΎΠ± ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ большом overhead Π½Π° сСтСвоС взаимодСйствиС ΠΈ запись Π½Π° VOLUME, плюс ΠΊΠΎ всСму Π½Π΅Π²Π΅Π΄ΠΎΠΌΡ‹ΠΉ ΠΈ ΡΡ‚Ρ€Π°ΡˆΠ½Ρ‹ΠΉ GIL, Π° Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ съСмка ΠΊΠ°Π΄Ρ€Π°, Ρ€Π°Π±ΠΎΡ‚Π° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΏΠΎ сСти ΠΊΠ°Π΄Ρ€Π° ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ hard real-time, Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ Π² сСти для мСня ΠΎΡ‡Π΅Π½ΡŒ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹.

P.S. ΠžΡΡ‚Π°Ρ‘Ρ‚ΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ваш Π»ΡŽΠ±ΠΈΠΌΡ‹ΠΉ Ρ‚Ρ€Π΅ΠΉΠ½ Π»ΡƒΠΏ для сСгмСнтации ΠΈ Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½!

Бпасибо сообщСству ods.ai, Π±Π΅Π· Π½Π΅Π³ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒΡΡ! ΠžΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ спасибо n01z3, Π½Π°Π΄ΠΎΡƒΠΌΠ΅Π²ΡˆΠ΅ΠΌΡƒ мСня Π·Π°Π½ΡΡ‚ΡŒΡΡ DL, Π·Π° Π΅Π³ΠΎ бСсцСнныС совСты ΠΈ Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½Ρ‹ΠΉ профСссионализм!

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π² production ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ!

инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π€ΠΎΡ‚ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ этоAurorai, llc

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Deep Learning Inference Benchmark β€” измСряСм ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ обучСния

инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π€ΠΎΡ‚ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это

ΠŸΠ΅Ρ€Π΅Π΄ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ встаСт Π·Π°Π΄Π°Ρ‡Π° опрСдСлСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΆΠ΅Π»Π΅Π·Π° Π² Π·Π°Π΄Π°Ρ‡Π΅ исполнСния Π³Π»ΡƒΠ±ΠΎΠΊΠΈΡ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ. НапримСр, хочСтся Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΠΎΠ»Π°-возраста ΠΏΠΎΠΊΡƒΠΏΠ°Ρ‚Π΅Π»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ заходят Π² ΠΌΠ°Π³Π°Π·ΠΈΠ½, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² зависимости ΠΎΡ‚ этого ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π° ΠΈΠ»ΠΈ Π½Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠΌ. Π’Ρ‹ ΡƒΠΆΠ΅ Π·Π½Π°Π΅Ρ‚Π΅ ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² вашСм ПО, Π½ΠΎ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° Π½Π΅ понятно ΠΊΠ°ΠΊ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΆΠ΅Π»Π΅Π·ΠΎ. МоТно Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ самый Ρ‚ΠΎΠΏ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΏΠ»Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π·Π° ΠΏΡ€ΠΎΡΡ‚Π°ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ мощности, Ρ‚Π°ΠΊ ΠΈ Π·Π° ΡΠ»Π΅ΠΊΡ‚Ρ€ΠΎΡΠ½Π΅Ρ€Π³ΠΈΡŽ. МоТно Π²Π·ΡΡ‚ΡŒ самый Π΄Π΅ΡˆΠ΅Π²Ρ‹ΠΉ i3 ΠΈ ΠΏΠΎΡ‚ΠΎΠΌ Π²Π΄Ρ€ΡƒΠ³ окаТСтся, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π²Π΅Π·Ρ‚ΠΈ каскад ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π³Π»ΡƒΠ±ΠΎΠΊΠΈΡ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π½Π° 8 ΠΊΠ°ΠΌΠ΅Ρ€Π°Ρ…. А ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΌΠ΅Ρ€Π° всСго ΠΎΠ΄Π½Π°, ΠΈ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ достаточно Raspberry Pi с Movidius Neural Compute Stick? ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ хочСтся ΠΈΠΌΠ΅Ρ‚ΡŒ инструмСнт для ΠΎΡ†Π΅Π½ΠΊΠΈ скорости Ρ€Π°Π±ΠΎΡ‚Ρ‹ вашСго инфСрСнса Π½Π° Ρ€Π°Π·Π½ΠΎΠΌ ΠΆΠ΅Π»Π΅Π·Π΅, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ Π΅Ρ‰Π΅ Π΄ΠΎ Π½Π°Ρ‡Π°Π»Π° обучСния.

Π’ Ρ†Π΅Π»ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚Ρ€ΠΈ направлСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π³Π»ΡƒΠ±ΠΎΠΊΠΈΠΌΠΈ модСлями:

ΠžΠ±Ρ‰ΡƒΡŽ схСму Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ с использованиСм Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ обучСния ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π€ΠΎΡ‚ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это
Из Π»Π΅ΠΊΡ†ΠΈΠΈ курса ΠΏΠΎ соврСмСнным ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ ΠΈ тСхнологиям Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ обучСния Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΌ Π·Ρ€Π΅Π½ΠΈΠΈ

Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, трСбования ΠΏΠΎ скорости Π·Π°Π»ΠΎΠΆΠ΅Π½Ρ‹ Π΅Ρ‰Π΅ Π½Π° этапС постановки Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΈ хочСтся Π΅Ρ‰Π΅ Π΄ΠΎ Π½Π°Ρ‡Π°Π»Π° обучСния ΠΈΠ»ΠΈ дообучСния ΡƒΠ·Π½Π°Ρ‚ΡŒ «ΡƒΠ»ΠΎΠΆΠΈΡ‚ся» ΠΈΠ»ΠΈ Π½Π΅Ρ‚ прСдполагаСмая модСль Π² доступныС для инфСрСнса рСсурсы. И для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой Π·Π°Π΄Π°Ρ‡ΠΈ Π±Ρ‹Π» создан DLI benchmark.

DLI benchmark

Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΈΠΈ ITLab студСнтами ННГУ ΠΈΠΌ. Н.И.ЛобачСвского Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ DLI (https://github.com/itlab-vision/dl-benchmark), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ большого количСства Ρ€Π°Π·Π½Ρ‹Ρ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π½Π° доступном ΠΆΠ΅Π»Π΅Π·Π΅.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ трСбования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ Π·Π°Π»ΠΎΠΆΠ΅Π½Ρ‹ Π½Π° этапС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ:

АрхитСктура Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°

инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π€ΠΎΡ‚ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это
Π‘Ρ…Π΅ΠΌΠ° со страницы ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

Алгоритм Ρ€Π°Π±ΠΎΡ‚Ρ‹ DLI-benchmark:

Π’ΠΈΠΏΡ‹ экспСримСнтов

ΠŸΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ устройство ΠΎΡ‡Π΅Π½ΡŒ часто Π½Π΅Π΄ΠΎΠ³Ρ€ΡƒΠΆΠ΅Π½ΠΎ. МоТно ΠΏΠΎΠ΄Π°Ρ‚ΡŒ Π΄Π²Π° изобраТСния ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°Ρ‡ΠΊΠΎΠΉ (batch=2), Ρ‚ΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ΡΡ быстрСС Ρ‡Π΅ΠΌ Π΄Π²Π° изобраТСния ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ΠŸΡ€ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΏΠ°Ρ‡ΠΊΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ сначала Π½Π°Ρ‡Π½Π΅Ρ‚ расти, Π° ΠΏΠΎΡ‚ΠΎΠΌ ΠΏΠ°Π΄Π°Ρ‚ΡŒ, ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π»ΡƒΡ‡ΡˆΠΈΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠ°Ρ‡ΠΊΠΈ вСсьма ΠΏΠΎΠ»Π΅Π·Π½ΠΎ.

Π’ соврСмСнных Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°Ρ… поддСрТиваСтся асинхронный Ρ€Π΅ΠΆΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΠΊΠΎΠ³Π΄Π° Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠ½Ρ†Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ изобраТСния, ΠΌΠΎΠΆΠ½ΠΎ Π½ΠΎΠ²ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ сразу послС поступлСния. ΠŸΡ€ΠΈ использовании асинхронного API Π² OpenVINO ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ рСквСсты ΠΏΠΎ 1 ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅ нСзависимо ΠΈ ΠΏΡ€ΠΈ этом ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΏΠΎ ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΈ этом Π½ΠΈΠ·ΠΊΠΈΠ΅ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, сохраняя ΠΏΡ€ΠΈ этом Π½ΠΈΠ·ΠΊΠΈΠ΅ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ, ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π½ΠΎΠ²Ρ‹Π΅ возмоТности для инфСрСнса Π³Π»ΡƒΠ±ΠΎΠΊΠΈΡ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π½Π° многосокСтных Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… систСмах.

ΠœΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

Π’ случаС ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ΄Π°Π²Π°Ρ‚ΡŒ нСсколько ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ нСзависимо Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° (асинхронный запуск Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ), ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Анализ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ²

Π’ Ρ…ΠΎΠ΄Π΅ экспСримСнтов ΠΌΡ‹ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π»ΠΈ Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠΌ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ: CPU i7-7700K, i5-8600K, i3-7100, i7-8700, i3-8100, GPU Intel HD Graphics 630, Intel Neural Compute Stick 2.

Пока ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° OpenVINO. Π”ΠΎΠΊΠ΅Ρ€Ρ‹ Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠ° с Caffe, TensofFlow ΠΈ PyTorch Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅.

Для дСмонстрации ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ возьмСм модСль ResNet-152 β€” это ΠΎΡ‡Π΅Π½ΡŒ объСмная модСль, которая Ρ€Π΅ΡˆΠ°Π΅Ρ‚ Π·Π°Π΄Π°Ρ‡Ρƒ классификации ImageNet.

На Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ Π½ΠΈΠΆΠ΅ прСдставлСна врСмя ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°Ρ‡ΠΊΠΈ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ…. На Π΄Π°Π½Π½ΠΎΠΌ Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ ΠΏΠΎ оси X ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½ΠΎ количСство ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² процСссора, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Π° ΠΏΠΎ оси Y β€” срСднСС врСмя ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (ΠΈΠ»ΠΈ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°, latency) ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°Ρ‡ΠΊΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. На этом Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΡƒΠ΄Π²ΠΎΠ΅Π½ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ увСличиваСтся ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π² Π΄Π²Π° Ρ€Π°Π·Π° β€” это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π½ΡƒΡŽ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Π§Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎ, параллСлизация ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΈ для большой ΠΏΠ°Ρ‡ΠΊΠΈ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ, ΠΈ для ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½ΠΎΠΉ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ.

инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π€ΠΎΡ‚ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ FPS (сколько Π² срСднСм ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ Π² сСкунду ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ процСссор Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹) Π½ΡƒΠΆΠ½ΠΎ количСство ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ Π² ΠΏΠ°Ρ‡ΠΊΠ΅ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° врСмя ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°Ρ‡ΠΊΠΈ. Π­Ρ‚ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π½ΠΈΠΆΠ΅.

инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π€ΠΎΡ‚ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это

Взглянув Π½Π° эти Ρ†ΠΈΡ„Ρ€Ρ‹, ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ссли ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ всС 6 ядСр процСссора, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ ΠΏΠ°Ρ‡ΠΊΠ°ΠΌΠΈ ΠΏΠΎ 8 ΡˆΡ‚ΡƒΠΊ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ возрастаСт Π½Π° 20% ΠΈΠ·-Π·Π° Π±ΠΎΠ»Π΅Π΅ ΠΏΠ»ΠΎΡ‚Π½ΠΎΠΉ ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ вычислСний. Но Π² ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΌ ПО Π½Π΅ слишком хочСтся ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ Π² ΠΏΠ°Ρ‡ΠΊΠΈ, Π΄Π° ΠΈ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ‚ΠΎΠ³Π΄Π° Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°ΡŽΡ‚β€¦

Π’ этом случаС Π½Π°ΠΌ Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ асинхронный запуск Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ! OpenVINO ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π½Π΅ ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ ΠΈΠ· ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΏΠ°Ρ‡ΠΊΡƒ, Π° ΠΏΠΎΠ΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ нСзависимо Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° Π½Π΅ доТидаясь Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ. Π’ Π΄Π°Π½Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π²Ρ‹ Π·Π°Π΄Π°Π΅Ρ‚Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ количСство «ΡΡ‚Ρ€ΠΈΠΌΠΎΠ²» (это Π½Π΅ ΠΏΠΎΡ‚ΠΎΠΊ процСссора; это ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ, которая Π·Π°Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² процСссора ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π² сСбС ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ), ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ нСзависимо Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ поступлСния.

инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это. Π€ΠΎΡ‚ΠΎ инфСрСнс Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ это

Π‘ использованиСм OpenVINO Π² асинхронном Ρ€Π΅ΠΆΠΈΠΌΠ΅ с Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ ΠΏΠ°Ρ‡ΠΊΠΈ Π² 1 ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΌΡ‹ ΠΏΠΎΡ‡Ρ‚ΠΈ достигаСм ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΉ Π² синхронном Ρ€Π΅ΠΆΠΈΠΌΠ΅ с Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ ΠΏΠ°Ρ‡ΠΊΠΈ 8, ΠΏΡ€ΠΈ этом ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π΅ мСняя ΠΊΠΎΠ΄ запуска ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *