- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Google Colaboratory 使用 TensorFlow 1.15 训练图像识别算法。我已将所有需要的文件上传到 Google 云端硬盘,并已获取运行代码,直到随机播放缓冲区运行完毕。但是,我在对话框中得到一个“^C”,并且无法弄清楚发生了什么。
注意:我之前曾尝试在我的 PC 上训练该算法,并且没有删除上一次训练生成的检查点文件。这可能是问题所在吗?
代码:
!pip install --upgrade pip
!pip install --upgrade protobuf
!pip install tensorflow-gpu==1.15
import tensorflow as tf
print(tf.__version__)
device_name = tf.test.gpu_device_name()
if device_name != '/device:GPU:0':
raise SystemError('GPU device not found')
print('Found GPU at {}'.format(device_name))
!ln -sf /opt/bin/nvidia-smi /usr/bin/nvidia-smi
!pip install gputil
!pip install psutil
!pip install humanize
import psutil
import humanize
import os
import GPUtil as GPU
GPUs = GPU.getGPUs()
gpu = GPUs[0]
def printm():
process = psutil.Process(os.getpid())
print("Gen RAM Free: " + humanize.naturalsize(psutil.virtual_memory().available ), " | Proc size: " + humanize.naturalsize( process.memory_info().rss))
print("GPU RAM Free: {0:.0f}MB | Used: {1:.0f}MB | Util {2:3.0f}% | Total {3:.0f}MB".format(gpu.memoryFree, gpu.memoryUsed, gpu.memoryUtil*100, gpu.memoryTotal))
printm()
from google.colab import drive
#Mount the drive
drive.mount('/content/gdrive')
#Change to working tensorflow directory on the drive
%cd '/content/gdrive/My Drive/weeds/tensorflow_models/models/research/object_detection/'
!apt-get install protobuf-compiler python-pil python-lxml python-tk
!pip install Cython
%cd /content/gdrive/My Drive/weeds/tensorflow_models/models/research/
!protoc object_detection/protos/*.proto --python_out=.
import os
os.environ['PYTHONPATH'] += ':/content/gdrive/My Drive/weeds/tensorflow_models/models/research/:/content/gdrive/My Drive/weeds/tensorflow_models/models/research/slim'
!python setup.py build
!python setup.py install
import time, psutil
Start = time.time() - psutil.boot_time()
Left = 12*3600 - Start
print('Time remaining for this session is: ', Left/3600)
!pip install tf_slim
%cd /content/gdrive/My Drive/weeds/tensorflow_models/models/research/object_detection/
os.environ['PYTHONPATH'] += ':/content/gdrive/My Drive/weeds/tensorflow_models/models/research/:/content/gdrive/My Drive/weeds/tensorflow_models/models/research/slim'
!python train.py --train_dir=training/ --pipeline_config_path=training/ssd_mobilenet_v1_coco.config --logtostderr
过程到此结束,但它需要开始使用“全局步骤”训练模型。
2020-10-18 22:42:45.587477: I tensorflow/core/kernels/data/shuffle_dataset_op.cc:145] Filling up shuffle buffer (this may take a while): 168 of 2048
2020-10-18 22:42:55.668973: I tensorflow/core/kernels/data/shuffle_dataset_op.cc:145] Filling up shuffle buffer (this may take a while): 334 of 2048
2020-10-18 22:43:06.067869: I tensorflow/core/kernels/data/shuffle_dataset_op.cc:145] Filling up shuffle buffer (this may take a while): 379 of 2048
2020-10-18 22:43:15.705090: I tensorflow/core/kernels/data/shuffle_dataset_op.cc:145] Filling up shuffle buffer (this may take a while): 503 of 2048
2020-10-18 22:43:26.781151: I tensorflow/core/kernels/data/shuffle_dataset_op.cc:145] Filling up shuffle buffer (this may take a while): 576 of 2048
2020-10-18 22:43:38.120069: I tensorflow/core/kernels/data/shuffle_dataset_op.cc:145] Filling up shuffle buffer (this may take a while): 640 of 2048
2020-10-18 22:43:45.813089: I tensorflow/core/kernels/data/shuffle_dataset_op.cc:145] Filling up shuffle buffer (this may take a while): 708 of 2048
2020-10-18 22:43:58.071040: I tensorflow/core/kernels/data/shuffle_dataset_op.cc:145] Filling up shuffle buffer (this may take a while): 752 of 2048
2020-10-18 22:44:07.506961: I tensorflow/core/kernels/data/shuffle_dataset_op.cc:145] Filling up shuffle buffer (this may take a while): 828 of 2048
2020-10-18 22:44:16.355753: I tensorflow/core/kernels/data/shuffle_dataset_op.cc:145] Filling up shuffle buffer (this may take a while): 908 of 2048
2020-10-18 22:44:25.922348: I tensorflow/core/kernels/data/shuffle_dataset_op.cc:145] Filling up shuffle buffer (this may take a while): 960 of 2048
INFO:tensorflow:global_step/sec: 0
I1018 22:44:34.783342 140291121678080 supervisor.py:1099] global_step/sec: 0
2020-10-18 22:44:36.327813: I tensorflow/core/kernels/data/shuffle_dataset_op.cc:145] Filling up shuffle buffer (this may take a while): 1036 of 2048
2020-10-18 22:44:45.651473: I tensorflow/core/kernels/data/shuffle_dataset_op.cc:145] Filling up shuffle buffer (this may take a while): 1151 of 2048
2020-10-18 22:44:55.554234: I tensorflow/core/kernels/data/shuffle_dataset_op.cc:145] Filling up shuffle buffer (this may take a while): 1186 of 2048
2020-10-18 22:45:05.648568: I tensorflow/core/kernels/data/shuffle_dataset_op.cc:145] Filling up shuffle buffer (this may take a while): 1242 of 2048
2020-10-18 22:45:15.644396: I tensorflow/core/kernels/data/shuffle_dataset_op.cc:145] Filling up shuffle buffer (this may take a while): 1313 of 2048
2020-10-18 22:45:25.551708: I tensorflow/core/kernels/data/shuffle_dataset_op.cc:145] Filling up shuffle buffer (this may take a while): 1386 of 2048
2020-10-18 22:45:35.549003: I tensorflow/core/kernels/data/shuffle_dataset_op.cc:145] Filling up shuffle buffer (this may take a while): 1458 of 2048
2020-10-18 22:45:45.648835: I tensorflow/core/kernels/data/shuffle_dataset_op.cc:145] Filling up shuffle buffer (this may take a while): 1531 of 2048
2020-10-18 22:45:55.643920: I tensorflow/core/kernels/data/shuffle_dataset_op.cc:145] Filling up shuffle buffer (this may take a while): 1602 of 2048
2020-10-18 22:46:05.559702: I tensorflow/core/kernels/data/shuffle_dataset_op.cc:145] Filling up shuffle buffer (this may take a while): 1674 of 2048
2020-10-18 22:46:15.547609: I tensorflow/core/kernels/data/shuffle_dataset_op.cc:145] Filling up shuffle buffer (this may take a while): 1746 of 2048
2020-10-18 22:46:25.645939: I tensorflow/core/kernels/data/shuffle_dataset_op.cc:145] Filling up shuffle buffer (this may take a while): 1819 of 2048
INFO:tensorflow:global_step/sec: 0
I1018 22:46:35.052108 140291121678080 supervisor.py:1099] global_step/sec: 0
2020-10-18 22:46:35.645583: I tensorflow/core/kernels/data/shuffle_dataset_op.cc:145] Filling up shuffle buffer (this may take a while): 1891 of 2048
2020-10-18 22:46:45.553851: I tensorflow/core/kernels/data/shuffle_dataset_op.cc:145] Filling up shuffle buffer (this may take a while): 1962 of 2048
^C
我该怎么做才能解决这个问题?训练过程在我的 PC (NVIDA GEFORCE RTX) 上运行良好,但我只需要通过 Google Colab 获得更多计算能力。
最佳答案
我无法运行你的代码,因为你在其中使用了一些文件。但我可以告诉你,这可能是因为你使用的是 TF 1 和 GPU,而在 Colab 中,GPU 降级并不容易。
例如,我没有在您的代码中看到您已经像这样将 CUDA 降级(到您想要的版本):
!wget https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64-deb
!dpkg -i cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64-deb
!apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub
!apt-get update
!apt-get install cuda=9.0.176-1
您可以通过!nvcc --version
查看CUDA的版本。
并且 Colab 降级 TensorFlow 版本的速度并不快。您可能需要多次重启运行时。
我建议您将代码更改为 TensorFlow 2
关于python - 填充洗牌缓冲区时,Google Colaboratory session 突然结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64419191/
这是一个面试问题。请给一些提示: 使用 vector 实现一个方法,洗一副牌。 public class Card { private int value; Card(int v) {
我非常是 C++ 的新手,我还没有完全理解基本概念,但我的教授希望我们编写一个算法来洗牌和展示一副纸牌和一副牌需要表示为二维数组。 但是我在模拟一副纸牌时遇到了麻烦! #include #inclu
我想用 php 创建随机桥牌的集合。我认为我可以将一副有序的纸牌编码为下面的字符串 $deal(考虑到大写和小写时,我喜欢它有 52 个字母)。我发现了 php 函数 str_shuffle。所以我想
我想随机重新排序矩阵 A 的行以生成另一个新矩阵。如何在 R 中做到这一点? 最佳答案 使用 sample()以(伪)随机顺序生成行索引并使用 [ 重新排列矩阵. ## create a matrix
我计划在 android-Java 上开发一个简单的纸牌游戏,在我的应用程序中,我洗牌,所以我想知道将我的牌组存储在数组或堆栈中的最佳方法是什么..?堆栈的唯一问题是我不知道如何对其进行洗牌。 最佳答
我正在尝试创建一种方法,使用 Arraylist 随机打乱基元数组。我想知道 .get(); 方法是否是在我的 Arraylist 上使用的正确方法,在 for 循环中的普通数组上它只是 array[
我是 C++ 的新手,但是,我正在尝试创建一些盐和胡椒噪音。它几乎完成了,只是在这之间我想洗牌一个整数数组,无论我做什么,无论我使用什么洗牌功能,我总是得到令人讨厌的“从这里需要”,它没有告诉我任何事
我被要求编写一个程序(主要是一个方法)来洗牌。我编写了以下程序: public class Deck { //////////////////////////////////////// // Dat
我已经看到其他与此相关的话题,但似乎没有一个能回答我的问题。我尝试在 vector 上使用 shuffle() 函数,但我一直收到错误消息: deck_of_cards.cpp:34:5: error
是否与sort 一致导致更随机的数组或者是 sort这里只是浪费? use List::Util qw(shuffle); @random1 = shuffle sort keys %vocables
首先,这个问题是从 this 中摘下来的问题。我这样做是因为我认为这部分比较长问题的子部分更大。如有冒犯,请见谅。 假设您有一个生成随机性的算法。现在你如何测试它?或者更直接地说 - 假设您有一个洗牌
我正在制作一个配对游戏,其中有 8 个 ImageView 和 4 个不同的图像。我想知道页面何时加载是否可以交换 ImageView 的位置? 让每张图片的顺序每次都变? 最佳答案 试试这个:
我正在制作一款纸牌游戏,需要在游戏开始前洗牌。通过在将数组插入数据库之前对其进行混洗,可以毫无问题地完成此操作。然而,在游戏开始后,有些情况下玩家需要洗牌。我想到的唯一方法是重新洗牌后重新插入套牌,但
我正在运行一个网站,其中用户导航子目录的唯一方式是通过随机页面(类似于维基百科的随机页面功能)。我已经实现了调用随机页面的代码并且它工作正常,但我想尽量减少在 onclick 执行后再次调用同一页面的
我想用一个条件打乱一个 2d Numpy 数组。例如,仅随机播放非零值。 import numpy as np a = np.arange(9).reshape((3,3)) a[2,2] = 0 #
我将如何获取 RLMArray 并对其进行洗牌,以便 RLMArray 中的当前项目是随机的。 我已经查看了 RLMArray 的文档,但是我没有看到对其进行洗牌的好方法。 最佳答案 你最好的选择可能
在我的 Qt c++ 应用程序中,我有一个包含一组 QString 值的 QStringList!我想随机播放(任意更改 QStringList 中 QString 的位置)。 perl中是否有任何默
我知道它是如何工作的,但我在排序和配对方面仍然有问题,这样我才能确定获胜者。 将它们配对(配对是具有相同值(value)的卡片。)例如,红心 A 和黑桃 A 组成一对。然后我数那些对。拥有最高对子的手
我有一组这样的 div: 我需要在点击其中一个红色 div 时随机播放它们,但点击的 div 应该始终与黄色 div 交换。 fiddle here $('.box-red').click(funct
// deck of cards // below are initializations #include #include #include using namespace std; int
我是一名优秀的程序员,十分优秀!