下面的谷歌云功能在本地運行良好,但在云上部署時失敗。
from flask import escape
import functions_framework
import numpy as np
@functions_framework.http
def test_func(request):
np_array = np.zeros(172128250, dtype=np.complex64)
print('np_array shape: ', np_array.shape)
abs_array = np.abs(np_array)
print('abs_array shape: ', abs_array.shape)
return 'Hello World'
嘗試過的 Python 版本:3.7、3.8 和 3.9。
超時:540s
記憶體:8GB
np_array 已成功創建,但無法計算 abs。函式列印第一個日志np_array shape: (172128250,),但無法列印第二個日志。函式突然退出列印Function execution took 2408 ms, finished with status: 'connection error'。它適用于本地的所有大小,但在云上,它特別適用于以下 10 個大小的 NumPy 陣列[172128241, 172128242, ..., 172128250]。
uj5u.com熱心網友回復:
您的執行環境是沙盒的,您無法獲得一些 CPU 功能(有關更多詳細資訊,請查看gVisor 專案)。
為了解決這個問題,我可以建議您切換到 Cloud Run(只需將您的代碼包裝在 Web 服務器中,請參閱我的舊文章)并使用執行運行時 gen2(仍處于預覽狀態)
uj5u.com熱心網友回復:
發現錯誤出現在 Numpy version: 1.19.4on the cloud。在云端使用后1.21.5,錯誤消失。為什么它在本地作業1.19.4但在云上失敗仍然很奇怪。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/414382.html
標籤:
