Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Взаимодействие хранилища и интерфейса ⇐ ПредыдущаяСтр 3 из 3
Для взаимодействия с облачным хранилищем нам надо воспользоваться S3 API. Это стандартный API для работы с объектными хранилищами данных Amazon. Этот API на 99.9% совпадает с API облачных провайдеров, которые предоставляют свои объектные хранилища данных. В нашем случае нам для доступа необходимы полученные ранее ключ доступа (Access Key ID) и секретный ключ (Secret Key). Также название бакета, региона в котором мы находимся, и endpoint _ url по которому мы будем подключаться именно к нашему провайдеру. Вот так выглядит подключение к нашему хранилищу ACCESS_KEY = 'kAjT77NuCryPU66EbW8ktb' SECRET_KEY = '2pbaZPrQnHoRyTeG1wFf6yNq1Auwfnsko3KpToPZXJaB' BUCKET_NAME = "treatmeshkov"
# S3 Connect s3 = boto3.client( "s3", aws_access_key_id=ACCESS_KEY, aws_secret_access_key=SECRET_KEY, endpoint_url='http://hb.bizmrg.com' )
Хранилище выглядит следующим образом:
| | - - - -class_name | | - - - - classification | | | - - - - image-1.jpg | | | - - - - image-2.jpg | | | - - - - image-3.jpg | | | - - - - т.д. | | | | - - - - detection | | - - - - metadata | - - - -class_name | | - - - - classification | | | - - - - image-1.jpg | | | - - - - image-2.jpg | | | - - - - image-3.jpg | | | - - - - т.д. | | | | - - - - detection | | - - - - metadata |
Где class _ name папка, где хранятся папки classification и detection определенного класса. Папка classification содержит все изображения, а папка detection хранит метаданные (metadata), в которых содержится название файла, высота, широта, и координаты xmin, ymin, xmax, ymax нашей выделенной области. Функция загрузки изображения выглядит следующим образом def upload_file_to_s3(FILE_NAME, FOLDER_CLASS, MIDDLE_FOLDER, BUCKET_NAME):
""" Docs: http://boto3.readthedocs.io/en/latest/guide/s3.html """
try:
s3.upload_fileobj ( Bucket = BUCKET_NAME, Filename=FILE_NAME, Key=FOLDER_CLASS + MIDDLE_FOLDER + FILE_NAME ) ) except Exception as e: print("Something Happened: ", e) return e
return "{}{}".format(app.config["S3_LOCATION"], file.filename)
Аналогично записываются метаданные. А вот так они выглядят Рис.11 Рисунок 11. Демонстрация работы классификации
Заключение
В рамках этой курсовой работы была разработана ИС для разметки и хранения данных. Где для хранения данных было выбрано облачное объектное хранилище данных, так как оно идеально подходит для неструктурированных данных. Также она быстро масштабируема, эффективна, и удобна для начала разработки любых ИС благодаря использованию простых команд через интерфейс API с помощью запросов. Также было разработан интуитивно понятный интерфейс информационной системы, для возможности классификации изображения и выделения объектов на изображении. В данный момент информационная система работает только для изображений. Но этот проект также можно развить и в сторону разметки текстовых и аудио данных. Также возможность открытого доступа для размеченных наборов данных для других пользователей.
Список использованных источников
1. Amazon Simple Storage Service Documentation // Электронный ресурс, URL: https://docs.aws.amazon.com/s3/index.html (дата обращения: 15.06.2019) 2. Flask Web Development // by Miguel Grinberg, -2014, 25 May, URL: https://doc.lagout.org/programmation/python/Flask%20Web%20Development_%20Developing%20Web%20Applications%20with%20Python%20%5BGrinberg%202014-05-18%5D.pdf (дата обращения: 15.06.2019) 3. Bootrstrap Documentation // Электронный ресурс, - URL: https://getbootstrap.com/docs/4.3/getting-started/introduction/ (дата обращения: 15.06.2019) 4. Kevin Brunke, Flask-RESTful // - 2018, 18 Dec, URL: https://buildmedia.readthedocs.org/media/pdf/flask-restful/latest/flask-restful.pdf 5. Learning Flask – CreateSpace Independent Publishing Platform, 2016. – 60 с. 6. Scott Patten: The S3 Cookbook, Android – Leanpub Independent Publishing Platform, 2016. – 220 p. 7. Amazon Web Service, Amazon API Gateway: Developer Guide, - 2016, 748 c. 8. James Murty, Programming Amazon Web Services // -2009, 604 с.
|
|||||
Последнее изменение этой страницы: 2021-05-27; просмотров: 37; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.191.223.123 (0.008 с.) |