如果有需要,我们可以导入下述参数:volume_size(根卷的容量大小,以GB为单位,默认为128),密钥名(在登入实例的时候,我们需要的密钥文件的名字。默认是: aws-key-fast-ai), ec2spotter_instance_type(启动实例的类型,默认是p2.xlarge), bid_price(我们愿意付出的最大价格,以美元计价,默认是0.5) 1.4登录及测试 用ssh进行连接,所需竞价实例的IP地址是由上一步得到。 instance_ip=instance_ip_from_previous_step ssh -i ~/.ssh/aws-key-fast-ai.pem ubuntu@$instance_ip 现在我们可以愉快地进行机器学习模块的开发测试了。例如,我们运行MNIST上的Tensorflow教程: python src/tensorflow/tensorflow/models/image/mnist/convolutional.py 结果: ... I tensorflow/core/common_runtime/gpu/gpu_device.cc:885] Found device 0 with properties: name: Tesla K80 major: 3 minor: 7 memoryClockRate (GHz) 0.8235 pciBusID 0000:00:1e.0 Total memory: 11.17GiB Free memory: 11.11GiB ... Step 0 (epoch 0.00), 771.1 ms Minibatch loss: 8.334, learning rate: 0.010000 Minibatch error: 85.9% Validation error: 84.6% Step 100 (epoch 0.12), 12.2 ms Minibatch loss: 3.262, learning rate: 0.010000 Minibatch error: 6.2% Validation error: 7.3% 看上去都没问题! 我们拥有了一个虚拟的私有网络,一个价廉物美的竞价实例,甚至还有一个模型在训练。但是这一切还不完美。 如果我们费尽心血,获得了上述的MNIST脚本,达到了理想的精度,却在晚上关闭了实例,那这些这些超棒的模型将会付之东流。我们必须设法找到在竞价实例上永久存储数据的方法。很幸运,我们找到了两种办法。 2.竞价实例的持久性:方法1-附着的卷 我们将要看一下我用来保存对竞价实例更改的两种主要方法。第一个办法是用单独的卷来存放模型和数据。这个卷是附着在竞价实例上的。下面是如何操作的步骤。 第一步,启动一个竞价实例(参考上述篇幅:用竞价实例来运行机器学习程序) 2.1 创建一个卷 (只要做一遍)我们可以用AWS cli或者网页版AWS Console来做。 用AWS Console来创建一个卷:打开AWS console,选择EC2,然后 第一步:打开“Volumes”; 第二步:点击“Create Volume” 按钮; 第三步:确认卷类型是“General Purpose SSD(GP2)” 高速SSD能让我们频繁快速地进入硬盘-例如:当我们的超大数据需要适配内存的时候; 第四步:选择合适大小的卷,我一般选100GB; 第五步:确认Availability Zone和实例所在地是一致的。 用aws cli来创建卷 在以下bash命令中,根据需要更改卷的大小,并将可用区设置为实例所在的可用区。 volume_size=100 availability_zone=us-east-1e aws ec2 create-volume --size $volume_size --availability-zone $availability_zone --volume-type gp2 --output text --query 'VolumeId' 2.2 将卷附着至实例 我们仍然使用cli或者web console。 用aws cli进行卷附着:刚才create-volume步骤中,已经获得了卷ID。如果我们还不知道实例ID,我们可以在此查看实例(https://console.aws.amazon.com/ec2/v2/home#instances)。 aws ec2 attach-volume --volume-id <value> --instance-id <value> --device /dev/sdh 用AWS Console进行卷附着:打开AWS Console,atv直播,选择EC2,然后: 第一步:选择我们刚才创建的卷(如果不确信,可以参看创建过的数据) 第二步:打开“Actions” 第三步:单击“Attach Volume” 第四步:单击实例区域,实例列表会弹出。 第五步:选择实例,单机将其附着至卷。我们保留Device域为默认值。 第六步:确认并点击“Attach”按钮。 2.3 安装卷 下面步骤来自于Amazon的教程“如何令Amazon EBS卷可用”: 第一步:启动SSH进入你的实例 ssh -i ~/.ssh/aws-key-fast-ai.pem ubuntu@$instance_ip 第二步:运行lsblk 查看这个卷是附着在哪个名字底下。 通常情况下,在ubuntu里面它会命名为“xvdf”,是列表中的最后一条记录。 (责任编辑:本港台直播) |