UnpicklingError из Azure BlobPython

Программы на Python
Ответить
Anonymous
 UnpicklingError из Azure Blob

Сообщение Anonymous »

Я разрабатываю функцию Azure для обслуживания выводов из модели машинного обучения. Модель сохраняется в виде файла .pkl на хранилище Blob Blob . Все попытки прочитать файл в сбой Python. < /P>
Для простоты в этом примере используется произвольный .pkl вместо файла модели. < /P>
Создание объекта Код < /h4>

Код: Выделить всё

import pickle

# Create a pickle
small_object = list(range(0,1000))
name = 'small_file.pkl'

with open(name, 'wb') as f:
pickle.dump(small_object, f)

#### Verify integrity ###

# Loading from disk
with open(name, 'rb') as f:
opened_object_one = pickle.load(f)
print(opened_object_one) # prints expected list

# Loading from byte stream
with open('small_object.pkl', 'rb') as f:
opened_object_two = f.read()
print(pickle.loads(opened_object_two)) # print expected list

< /code>
 код функции Azure < /h4>
import logging
import pickle

app = func.FunctionApp()

@app.route(route="http_trigger", auth_level=func.AuthLevel.FUNCTION)
@app.blob_input(
arg_name = 'client',
path = '/small_file.pkl',
connection ='AzureWebJobsStorage'
)
def http_trigger(req: func.HttpRequest, client) -> func.HttpResponse:

# `client` is of type azure.functions.blob.InputStream
package_bytes = client.read() # return bytes
client.close()

small_object = pickle.loads(package_bytes)
Я ввожу свою виртуальную среду с источником .venv/scripts/activate (я использую gitbash ). Затем я работаю локально с func host start и запускаю функцию, следуя ссылке на соответствующую конечную точку Localhost.
Это возвращает исключение: unpicklingError: недопустимая клавиша загрузки, '\ xef' в Консоль. Я попытался загрузить маринованный маринованный марионер как с помощью Azure CLI , так и с Firefox . Я всегда получаю одинаковые результаты.
Я в Windows 10 с помощью Python 3.10.5.
Все справка оценена.

Подробнее здесь: https://stackoverflow.com/questions/793 ... azure-blob
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»