Как я могу передать массив NumPy в Flask API? - PullRequest
0 голосов
/ 09 апреля 2019

Как я могу использовать webargs или reqparse из flask_restful для передачи пустого массива при выполнении вызова POST. Я могу с лёгкостью передавать аргументы других типов данных (string, int), но массивные массивы переводятся в unicode или выдают ошибку.

Я хочу иметь возможность сделать что-то вроде:

from flask_restful import reqparse
parser = reqparse.RequestParser()
parser.add_argument('url', type=str)
parser.add_argument('id', type=str, required=True)
# Pass in numpy array
parser.add_argument('arr', type=numpy.array, required=True)

Я также пытался использовать webargs, но не нашел способа сделать его совместимым с массивами numpy. У меня есть это настроено:

from webargs import fields
from webargs.flaskparser import use_args
my_args = {'url': fields.Str(),
           'id': fields.Str(required=True),
           'arr': fields.Field()} # not sure what to put here

Есть ли способ эффективно передать массив numpy с помощью API колб restful?

Edit: Я попытался установить тип данных как Список, но получил новую ошибку, указывающую u"'List' object is not callable". Я изменился:

# pass in numpy array
parser.add_argument('arr', type=fields.List(fields.Raw()))

1 Ответ

0 голосов
/ 09 апреля 2019

Документация указывает некоторые другие типы данных, кроме примитивов. Числовой массив можно интерпретировать как список.

Если вы хотите передать объект numpy, чтобы иметь возможность использовать его методы, я думаю, что парсер не будет работать.

...