我正在尝试创建terraform script以便从市场上推出fastai instance。
我将图像名称添加为
click-to-deploy-images/deeplearning
当我添加
https://console.cloud.google.com/marketplace/details/click-to-deploy-images/deeplearning
来自网址
Error: Error resolving image name 'click-to-deploy-images/deeplearning': Could not find image or family click-to-deploy-images/deeplearning
on fastai.tf line 13, in resource "google_compute_instance" "default":
13: resource "google_compute_instance" "default" {
出现错误,
debian-cloud/debian-9
如果我使用
https://console.cloud.google.com/marketplace/details/debian-cloud/debian-stretch?project=<>
来自网址
{{1}}
正在工作。
我们可以通过Terraform部署Fastai图像吗?
答案 0 :(得分:1)
我从您共享的深度学习市场VM实例进行了部署,并查看了源映像[1],您应该能够使用我提供的用于Terraform部署的URL。我还注意到一个警告图像,说明该图像已被弃用,并且有此新版本[2]。
希望这会有所帮助!
[1] sourceImage:https://www.googleapis.com/compute/v1/projects/click-to-deploy-images/global/images/tf2-2-1-cu101-20200109
答案 1 :(得分:1)
在这种情况下,名称为“ deeplearning-platform-release / pytorch-latest-gpu”,
import numpy as np
from numpy import linalg as LA
x = np.array([[4],[2],[0],[-1]])
f = np.array([[7],[29],[27],[-73]])
def main():
A_matrix = VandermondeMatrix(x)
print(A_matrix)
c = LA.solve(A_matrix,f) #coefficients of Vandermonde Polynomial
print(c)
def VandermondeMatrix(x):
n = len(x)
A = np.zeros((n, n))
exponent = np.array(range(0,n))
for j in range(n):
A[j, :] = x[j]**exponent
return A
if __name__ == "__main__":
main()
现在我可以创建实例了。
答案 2 :(得分:0)
致像我这样的新手:
显然 GCP Marketplace 正在使用 Deployment Manager,这是 google 自己的声明性工具来管理基础架构。 (我认为 module
是 terraform
中最接近它的抽象。)
因此,标题中的问题没有简单/单一的答案。
在我看来 - 如果您从头开始和/或负担得起时间 - 最好是使用 terraform
模块而不是 GCP 市场解决方案 - 如果存在的话。
但是,更改是好的,您正在导入现有的基础设施,您不能立即替换它(或者没有这样的模块)。
在这种情况下,我认为您能做的最好的事情是转到 Deployment Manager in google console 并打开您需要导入的特定部署。
此时您可以看到构成部署的资源。可能会有vm template
(s), vm
(s), firewall rule
(s), etc...
点击 vm instance
和 template
会显示很多有用的细节。
最重要的是,您可以推断出使用的是什么图像。
例如: 就我而言,它显示:
sourceImage https://www.googleapis.com/compute/v1/projects/openvpn-access-server-200800/global/images/aspub275
由此我可以定义(基于问题 an answer 上的 #7319)
data "google_compute_image" "openvpn_server" {
name = "aspub275"
project = "openvpn-access-server-200800"
}
我可以反过来在 google_compute_instance
资源中使用。
尽管如此,这将强制重新创建 VM。