google-cloud-platform - Google Cloud Platform AI Jupyter 笔记本中的内存错误
问题描述
我正在尝试在 Google Cloud Platform (AI Platform) 上运行情绪分析。当我尝试将数据拆分为训练时,它显示的内存错误如下所示
MemoryError: 无法为形状 (414298,) 且数据类型 <U125872 的数组分配 194.GiB
如何相应地增加内存大小?我应该更改实例中的机器类型吗?如果是这样,哪种设置合适?
解决方案
从错误看来,VM 内存不足。
1 - 使用另一种机器类型创建一个新笔记本。为此,请转到 AI Platform > Notebooks 并单击 NEW INSTANCE。选择最适合您的选项(R 3.6、Python 2 和 3 等),然后单击弹出窗格中的高级选项。在机器配置区域,您可以选择具有更多内存的机器类型。
请从 n1-standard-16 或 n1-highmem-8 开始,如果其中任何一个有效,请跳转到 n1-standard-32 或 n1-highmem-16。
使用该命令您还可以更改机器大小:
gcloud compute instances set-machine-type INSTANCE_NAME \
--machine-type NEW_MACHINE_TYPE
2 - 更改数据类型。如果您使用的是 np.float64 类型,则可以将其更改为 np.float32 以减小大小。所以你可以修改这一行: result = np.empty(self.shape, dtype=dtype) By: result = np.empty(self.shape, dtype=np.float32)
如果您不想修改代码,我建议您遵循第一个选项。
推荐阅读
- animation - 如何修复 TweenMax TimelineLite 故障
- kubernetes - 访问 Kubernetes 集群中 Zeppelin 的接口
- ios - 使用 for-in 后返回结构数组并应用 shuffled().sorted()
- winston - 为什么显示此“Papertrail 是传统的 winston 传输。考虑升级”
- c# - 是否可以创建一个单向的 IEqualityComparer?
- ios - 如何解决自动大小集合视图的问题?
- c++ - 如何修复 STM32F3 上 SPI 的片选时序?
- javascript - 从 React (Gatsby) 中的 GraphQL 查询导入 SVG
- c# - 无法从我想要的地方的锯齿状数组中获取值,但我在其他地方得到它
- python - 如何从python字典中找到特定节点到叶节点的所有路径以及前面的节点?