В этом исходном коде TensorFlow в файле CameraExampleViewController.mm есть метод runCNNOnFrame
, который принимает объект CVPixelBuffer
в качестве входных данных (с камеры) и копирует его содержимое в image_tensor_mapped.data()
. Затем он запускает график TF для этого объекта image_tensor
.
Чтобы использовать другой источник изображения, такой как содержимое UIView
, вам необходимо сначала прочитать содержимое этого представления в некоторый тип буфера памяти (обычно CGImage
), а затем скопировать этот буфер памяти в image_tensor_mapped.data()
.
Возможно, будет проще преобразовать модель TF в Core ML (если это возможно), а затем использовать среду Vision для запуска модели, поскольку она может напрямую использовать CGImage
в качестве входных данных. Это избавляет вас от необходимости сначала преобразовывать это изображение в тензор.
T5 находится в последней бете, следующим выпуском является RC и затем полный выпуск. согласно howard, вещи должны быть сделаны к концу октября. таким образом, если Вы запускаете проект, я полагаю, что платформа поймает Вас со своим выпуском.
другая вещь, беты являются довольно качественными продуктами, howard делает отличную работу с его платформой. в моей теперь предыдущей компании существует проект, запущенный в сентябре на основе гобелена 5, коллеге удалось получить рабочий пример довольно быстро, и это кажется хорошо. мы работали с гобеленом 4 на предыдущем проекте, и когда вопрос повысил, о которой версии выбрать, то, что от T4 откажутся в пользу T5, и много изменяется в самом понятии платформы, заключение было, для разработчика, нового в гобелене намного лучше изучить новую версию immidiately (также, если я должен был остаться, я интересовался переключением на T5 также как можно скорее, потому что я вижу повышение качества в понятиях T5 по сравнению с T4, который я работал с).
конечно, у Вас есть свои крайние сроки и ограничения проекта, которые необходимо принять во внимание. если это скорее flexibile, или длительный проект, возможно, получите быстрый запуск T5 в течение недели и затем решите на основе своего опыта с ним.
Этот вопрос спорен теперь; Гобелен 5.0.18 был выпущен на декабре 12, и это - стабильный готовый к производству выпуск, таким образом, никто не должен волноваться об использовании Tap5, прежде чем производство больше... просто обновит от любого 5.0.x, Вы используете для 5.0.18.
ПРЕДУПРЕЖДЕНИЕ: Если Вы все еще используете 5.0.15 затем, возможно, необходимо будет изменить некоторый материал вокруг. У меня было 2 проблемы при обновлении от 5.0.15 до 5.0.17: каждый - это любые поля, отмеченные как @Property
не должен иметь никаких средств доступа; если у Вас есть средство доступа для a @Property
поле необходимо удалить тег @Property и реализовать оба средства доступа при необходимости в них. Другой был то, что классы страницы больше не упаковываются в их собственном файле банки (это только относится к недавно созданным проектам), поэтому при необходимости в страницах, чтобы быть в их собственном файле банки (по любой причине), необходимо изменить pom.xml для добавления archiveClasses
к сменному войной знатоком плагину.
Необходимо бросить очень хороший взгляд на историю разработки Гобелена прежде, чем передать для использования его. Гобелен сделал много несовместимых обновлений без продолжения поддержки более старых версий. Патчи к 4,1 не обрабатываются больше в течение разумного периода времени. Это находится в моей точке зрения, не приемлемой для официальной стабильной версии.
Передача для использования Гобелена 5 средств:
Как zappan сказал, необходимо рассмотреть T5, если доставка проекта (ЖИВЕТ/ВЫПУСКАЕТ), дата является несколькими месяцами вперед. Тем более, что T5 еще не выпущен - который приводит к ожиданию, что НЕ будет слишком многих людей, у которых будет опыт с ним.
С другой стороны, если Ваш проект не в жестком реальном времени и может перенести некоторые задержки с ЖИВОЙ датой, он не должен причинять боль.
При прочтении пользовательского списка рассылки Гобелена, там все еще появляются ко многим грубым краям. T5 является впечатляющим, когда Вы пробегаете демонстрацию, но я ожидал бы некоторое время прежде, чем рассмотреть использование его для производства. http://www.nabble.com/Tapestry---User-f340.html
Я не думаю, что могу рекомендовать бета решение высокого приложения профиля как это, но я также склоняюсь против T4, потому что процедура обновления захлопнется после выпуска T5. Вы соглашаетесь?
Гобелен 5 ужасен. Производительность резко падает, существуют утечки памяти. Это представляет очень плохо для размера "кучи" и более старых объектных поколений в GC. Это не масштабируется для больших количеств пользователей из-за использования сессий везде. Это очень плохо документируется, плохо suppurted с крошечным количеством разработчиков. Качество кодовой базы является очень низким с нестандартно выглядящим кодом. Я избегал бы его как чумы. Я работал с ним в течение 6 месяцев на очень высоком проекте профиля, который был в конечном счете консервированным за счет много миллиона фунтов. T5 не был ответственен за это, но имел свою часть для проигрывания путем обеспечения производительности разработчика для обнуления.
С калиткой и чашами Грааля и Spring MVC и Struts2, с какой стати Вы рискнули бы чем-нибудь на этом также, выполнили платформу?
Я в настоящее время использую T5 в проекте, который собирается пойти живой с бета-версией, которая не является точно, что мы предназначили - мы думали, что первый выпуск будет отсутствовать к настоящему времени. T5, по моему скромному мнению, является стабильным и сформировавшимся кроме нескольких грубых краев и довольно малочисленного сообщества.
Если бы Вы только начинаете, я не потрудился бы использовать T4. Я нашел T5 довольно изящный и забавный работать с, поэтому если у Вас есть некоторое время перед запланированным выпуском, пойдите для него!