Ошибка ОС: [Errno 30] Файловая система только для чтения: '2024-04-05-06-15-30.176066' Файл "/var/task/lambda_function.pPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка ОС: [Errno 30] Файловая система только для чтения: '2024-04-05-06-15-30.176066' Файл "/var/task/lambda_function.p

Сообщение Anonymous »

при запуске лямбда-функции aws и выполнении вывода с помощью модели DL над контейнером, работающим в лямбда-выражении, когда я загружаю свою модель из s3, она работает, но когда я создаю экземпляр объекта StarDist2D (conf), он выдает эту ошибку. Не уверен, связано ли это со Stardist или с чем-то еще, поскольку перед ошибкой стоит временная метка, как вы можете видеть в заголовке вопроса.
Код для лямбда_handler >
def download_model_from_s3(bucket_name, model_key, local_model_path):
try:
s3_client.download_file(bucket_name, model_key, local_model_path)
return True
except Exception as e:
print(f"Error downloading model file from S3: {e}")
return False

local_model_path = '/tmp/' + model_file_name
def download_model_from_s3(bucket_name, model_key, local_model_path):
try:
s3_client.download_file(bucket_name, model_key, local_model_path)
return True
except Exception as e:
print(f"Error downloading model file from S3: {e}")
return False
def lambda_handler(event, context):
# Check if the event is an S3 event
print("this is event",event)
if 'Records' in event and len(event['Records']) > 0 and 's3' in event['Records'][0]:
bucket = event['Records'][0]['s3']['bucket']['name']
key = urllib.parse.unquote_plus(event['Records'][0]['s3']['object']['key'], encoding='utf-8')
print("this is key",key)
image_name = key.split("/")[-1]
print("this is image_name",image_name)

# Check if the uploaded object is in the validationimages folder
if key.startswith('ValidationImages/'):
# Process the uploaded image here
print("line no 67")
np.random.seed(42)
image_path = '/tmp/'+image_name
s3_client.download_file(bucket_name, key, image_path)

def imreadReshape(key):
if ".tif" in image_name:
imageRead = imread(image_path)
if np.ndim(imageRead) == 2:
return imageRead
imageRead = np.array(imageRead)
imageRead = cv2.resize(imageRead,(768,768))
return imageRead[:,:,0]
else:
print("line no 80")
imageRead = cv2.imread(image_path)
print("line no 82")
if np.ndim(imageRead) == 2:
return imageRead
imageRead = cv2.resize(imageRead,(768,768))
return imageRead[:,:,0]
X_val = [image_name]
X_val = list(map(imreadReshape,X_val))
n_channel = 1 if X_val[0].ndim == 2 else X_val[0].shape[-1] #If no third dim. then number of channels = 1. Otherwise get the num channels from the last dim.
axis_norm = (0,1)
if n_channel > 1:
print("Normalizing image channels %s." % ('jointly' if axis_norm is None or 2 in axis_norm else 'independently'))
sys.stdout.flush()

X_val = [x/255 for x in X_val]
rng = np.random.RandomState(42)

print(Config2D.__doc__)
gputools_available()

n_rays = 32 #ok
use_gpu = True and gputools_available() #ok

grid = (2,2) # ok

conf = Config2D (
n_rays = n_rays,
grid = grid,
use_gpu = use_gpu,
n_channel_in = n_channel,
train_patch_size = (768,768)
)

if download_model_from_s3(bucket_name, model_key, local_model_path):
## Load the model
new_model = tf.keras.models.load_model(local_model_path)
print("Load Model Complete")
model_load = StarDist2D(conf)


Подробнее здесь: https://stackoverflow.com/questions/782 ... file-var-t
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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