标签: tensorflow-gpu

ImportError:没有名为'nets'的模块

我试图从训练集/流程模型中提供的export_inference_graph.py脚本中将trained_checkpoint转换为最终冻结模型,但会出现以下错误结果.是的,我已经设置了$ PYTHONPATH"模特/苗条",但我仍然得到这个错误,有人可以帮助我吗?

$ echo $PYTHONPATH
:/home/ishara/tensorflow_models/models:/home/ishara/tensorflow_models/models/slim
Run Code Online (Sandbox Code Playgroud)

*****************************问题****************************************************************************

$sudo python3 object_detection/export_inference_graph.py  --input_type image_tensor  --pipeline_config_path = "ssd_inception_v2_pets.config"  --trained_checkpoint_prefix="output/model.ckpt-78543"  --output_directory="birds_inference_graph.pb"

Traceback (most recent call last):
  File "object_detection/export_inference_graph.py", line 74, in <module>
    from object_detection import exporter
  File "/usr/local/lib/python3.5/dist-packages/object_detection-0.1-py3.5.egg/object_detection/exporter.py", line 28, in <module>

  File "/usr/local/lib/python3.5/dist-packages/object_detection-0.1-py3.5.egg/object_detection/builders/model_builder.py", line 30, in <module>
  File "/usr/local/lib/python3.5/dist-packages/object_detection-0.1-py3.5.egg/object_detection/models/faster_rcnn_inception_resnet_v2_feature_extractor.py", line 28, in <module>
ImportError: No module named 'nets'
Run Code Online (Sandbox Code Playgroud)

我已经苦苦挣扎了好几天了,试过很多解决方案没什么用,我正在使用带有tensorflow-gpu版本的Ubuntu 16.04.

python python-3.x tensorflow tensorflow-gpu

8
推荐指数
3
解决办法
2万
查看次数

在Tensorflow培训期间,GPU使用率非常低

我正在尝试为10级图像分类任务训练一个简单的多层感知器,这是Udacity深度学习课程的一部分.更确切地说,任务是对从各种字体呈现的字母进行分类(数据集称为notMNIST).

我最终得到的代码看起来相当简单,但无论我在培训期间总是获得非常低的GPU使用率.我用GPU-Z测量负载,它只显示25-30%.

这是我目前的代码:

graph = tf.Graph()
with graph.as_default():
    tf.set_random_seed(52)

    # dataset definition
    dataset = Dataset.from_tensor_slices({'x': train_data, 'y': train_labels})
    dataset = dataset.shuffle(buffer_size=20000)
    dataset = dataset.batch(128)
    iterator = dataset.make_initializable_iterator()
    sample = iterator.get_next()
    x = sample['x']
    y = sample['y']

    # actual computation graph
    keep_prob = tf.placeholder(tf.float32)
    is_training = tf.placeholder(tf.bool, name='is_training')

    fc1 = dense_batch_relu_dropout(x, 1024, is_training, keep_prob, 'fc1')
    fc2 = dense_batch_relu_dropout(fc1, 300, is_training, keep_prob, 'fc2')
    fc3 = dense_batch_relu_dropout(fc2, 50, is_training, keep_prob, 'fc3')
    logits = dense(fc3, NUM_CLASSES, 'logits')

    with tf.name_scope('accuracy'):
        accuracy = tf.reduce_mean(
            tf.cast(tf.equal(tf.argmax(y, 1), …
Run Code Online (Sandbox Code Playgroud)

python gpu deep-learning tensorflow tensorflow-gpu

8
推荐指数
1
解决办法
2万
查看次数

张量流量化

我想使用Tensorflow的transform_graph工具优化图形.我尝试从MultiNet(以及其他具有类似编码器 - 解码器架构的图形)优化图形.但是,使用quantize_weights时,优化图实际上较慢,使用quantize_nodes时甚至要慢得多.从Tensorflow的文档来看,量化时可能没有任何改进,甚至可能更慢.知道下面的图形/软件/硬件是否正常吗?

以下是我的系统信息供您参考:

  • OS平台和发行版:Linux Ubuntu 16.04
  • TensorFlow安装自:使用TF源代码(CPU)进行图形转换,使用二进制python(GPU)进行推理
  • TensorFlow版本:均使用r1.3
  • Python版本:2.7
  • Bazel版本:0.6.1
  • CUDA/cuDNN版本:8.0/6.0(仅推理)
  • GPU型号和内存:GeForce GTX 1080 Ti

如有必要,我可以发布用于重现的所有脚本.

tensorflow tensorflow-gpu

8
推荐指数
1
解决办法
613
查看次数

首先tf.session.run()的执行与以后的运行截然不同。为什么?

下面是一个示例来阐明我的意思:
First session.run():
TensorFlow会话的首次运行

稍后session.run():
稍后运行TensorFlow会话

我了解TensorFlow在这里进行一些初始化,但是我想知道这在源代码中体现了什么。这在CPU和GPU上都发生,但是在GPU上的影响更为明显。例如,在显式Conv2D操作的情况下,第一次运行在GPU流中具有大量Conv2D操作。实际上,如果我更改Conv2D的输入大小,则它可以从数十个流转换为Conv2D操作。但是,在以后的运行中,GPU流中始终只有五个Conv2D操作(与输入大小无关)。在CPU上运行时,与以后的运行相比,我们在第一次运行中保留了相同的操作列表,但是确实看到了相同的时间差异。

TensorFlow源的哪一部分负责此行为?GPU操作在哪里“分裂”?

谢谢您的帮助!

cublas tensorflow cudnn tensorflow-gpu tensorflow-xla

7
推荐指数
1
解决办法
2347
查看次数

Keras NN 损失没有减少

我在 Windows 10 上使用 Keras 2.07、Python 3.5、Tensorflow 1.3.0

我正在测试论文 Long-term Temporal Convolutions for Action Recognition 中使用的架构。我希望将它用于我自己的数据。我使用了我认为会很快收敛的测试数据。学习率下降到 1.e-6,但损失从未脱离 4.5549672 的高值......

有人可以查看或尝试此代码吗?我是否假设错误,编码错误或不耐烦?

谢谢

## Attempt to implement based on ...
#Long-term Temporal Convolutionsfor Action Recognition
#
#Gul Varol, Ivan Laptev, and Cordelia Schmid, ¨ Fellow, IEEE
#
import time
import numpy as np,cv2
import sys
import os

import keras
import tensorflow as tf

from keras.models import Sequential, Model
from keras.layers import Dense, Dropout, Activation, Flatten,  Input
from keras.layers import Conv3D, MaxPooling3D
from …
Run Code Online (Sandbox Code Playgroud)

python-3.x conv-neural-network keras tensorflow-gpu

7
推荐指数
1
解决办法
5585
查看次数

TensorFlow几个批次的平均梯度

这可能是Tensorflow的重复:如何在批处理中获得每个实例的渐变?.无论如何,我问它,因为没有一个令人满意的答案,这里的目标有点不同.

我有一个非常大的网络,我可以放在我的GPU上,但我可以提供的最大批量大小是32.任何大于此的东西都会导致GPU耗尽内存.我想使用更大的批次以获得更精确的渐变近似值.

具体来说,假设我想通过依次喂3批32个来计算大批量96的梯度.我所知道的最好方法是使用Optimizer.compute_gradients()Optimizer.apply_gradients().这是一个小例子,它是如何工作的

import tensorflow as tf
import numpy as np

learn_rate = 0.1

W_init = np.array([ [1,2,3], [4,5,6], [7,8,9] ], dtype=np.float32)
x_init = np.array([ [11,12,13], [14,15,16], [17,18,19] ], dtype=np.float32)

X = tf.placeholder(dtype=np.float32, name="x")
W = tf.Variable(W_init, dtype=np.float32, name="w")
y = tf.matmul(X, W, name="y")
loss = tf.reduce_mean(y, name="loss")

opt = tf.train.GradientDescentOptimizer(learn_rate)
grad_vars_op = opt.compute_gradients(loss)

sess = tf.Session()
sess.run(tf.global_variables_initializer())

# Compute the gradients for each batch
grads_vars1 = sess.run(grad_vars_op, feed_dict = {X: x_init[None,0]}) …
Run Code Online (Sandbox Code Playgroud)

machine-learning backpropagation gradient-descent tensorflow tensorflow-gpu

7
推荐指数
1
解决办法
3332
查看次数

重新启动InceptionV4的新类别的最终层:未初始化的局部变量

我仍然是张量流的新手,所以如果这是一个天真的问题,我很抱歉.我正在尝试使用此网站上发布的数据集上inception_V4 预先训练模型.此外,我正在使用他们的网络,我的意思是在他们的网站上发布的网络.ImageNet

以下是我如何称呼网络:

def network(images_op, keep_prob):

     width_needed_InceptionV4Net = 342
     shape = images_op.get_shape().as_list()
     H = int(round(width_needed_InceptionV4Net * shape[1] / shape[2], 2))
     resized_images = tf.image.resize_images(images_op, [width_needed_InceptionV4Net, H], tf.image.ResizeMethod.BILINEAR)

     with slim.arg_scope(inception.inception_v4_arg_scope()):
         logits, _ = inception.inception_v4(resized_images, num_classes=20, is_training=True, dropout_keep_prob = keep_prob)

     return logits
Run Code Online (Sandbox Code Playgroud)

由于我需要重新训练Inception_V4我的类别的最后一层,我将类的数量修改为20,如方法call(inception.inception_v4)中所示.

这是我到目前为止的火车方法:

def optimistic_restore(session, save_file, flags):
reader = tf.train.NewCheckpointReader(save_file)
saved_shapes = reader.get_variable_to_shape_map()
var_names = sorted([(var.name, var.name.split(':')[0]) for var in tf.global_variables()
        if var.name.split(':')[0] in saved_shapes])
restore_vars = []
name2var …
Run Code Online (Sandbox Code Playgroud)

python tensorflow tensorflow-gpu

7
推荐指数
1
解决办法
264
查看次数

无法满足显式设备规范'/ device:GPU:0',因为没有匹配的设备

我想在我的Ubuntu 14.04上使用tensorflow 0.12 for GPU.

但是,当将设备分配给节点时,我收到以下错误.

InvalidArgumentError (see above for traceback): Cannot assign a device to
node 'my_model/RNN/zeros': Could not satisfy explicit device specification
'/device:GPU:0' because no devices matching that specification are registered
in this process; available devices: /job:localhost/replica:0/task:0/cpu:0
    [[Node: my_model/RNN/zeros = Fill[T=DT_FLOAT, _device="/device:GPU:0"]
(my_model/RNN/pack, my_model/RNN/zeros/Const)]]
Run Code Online (Sandbox Code Playgroud)

我的张量流似乎设置正确,因为这个简单的程序工作:

import tensorflow as tf
# Creates a graph.
with tf.device('/gpu:0'):
  a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
  b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
  c …
Run Code Online (Sandbox Code Playgroud)

gpu tensorflow tensorflow-gpu

6
推荐指数
1
解决办法
7467
查看次数

安装后Anaconda Prompt Corrupts

我按照此处的说明创建了一个单独的环境后安装了Tensorflow-gpu.但是,当我关闭"提示"窗口并打开新终端时安装后,会弹出以下错误.我已经将Anaconda/Scripts和Anaconda路径设置为环境变量,但这似乎无法解决.任何解决方案都很受欢

用法:conda [-h] {keygen,sign,unsign,verify,unpack,install,install-scripts,convert,version,help} ... conda:错误:无效选择:'.. checkenen'(从'keygen中选择) ','签名','取消签名','验证','解包','安装','安装脚本','转换','版本','帮助')

C:\Users\sashw>activate keras
'activate' is not recognized as an internal or external command,
operable program or batch file.
Run Code Online (Sandbox Code Playgroud)

python anaconda tensorflow-gpu

6
推荐指数
1
解决办法
1336
查看次数

tensorflow同时使用2个GPU

首先,我还是张量流的新手.我正在使用v0.9并试图使用我们拥有的机器中安装的2个GPU.那么,这是发生了什么:

  1. 当我training data在机器上启动脚本时,它仅适用于2个GPU中的一个.它默认采用第一个gpu:0/.
  2. 当我启动另一个training data脚本在第二个GPU上运行(在完成所需的更改之后with tf.device..),同时保持第一个进程在第一个GPU上运行时,tensorflow会杀死第一个进程并仅使用第二个GPU来运行第二个进程.所以似乎张量流一次只允许一个进程?

我需要的是:能够training data同一台机器上安装的2个不同的GPU上为2个不同的模型启动两个单独的脚本.我在这种情况下遗漏了什么吗?这是预期的行为吗?我应该在本地计算机上执行分布式tensorflow吗?

multi-gpu tensorflow tensorflow-gpu

5
推荐指数
2
解决办法
1万
查看次数