具有相同版本的机器是否需要使用预训练的张量流模型?

时间:2019-03-28 20:51:05

标签: python python-3.x tensorflow raspberry-pi

我在使用keras / tensorflow的Linux机器上训练了一个cnn,但是无法在Raspberry Pi上运行预训练的模型。该模型是在带有Python 3.6.7,tensorflow版本1.7.0,CuDNN 7.0.5和CUDA 9的Ubuntu 16.04上创建的。我试图在具有Python 3.5.3和tensorflow版本1.13的Raspberry Pi 3 Model B +上运行它。 1。

我在创建预训练模型的同一机器上加载和运行预训练模型没有问题。仅当我尝试在RPi系统上运行相同的预训练模型时,问题才出现。我最终遇到了细分错误。

我尝试将创建该模型的Linux计算机更新为tensorflow 1.12,但在成功安装tensorflow 1.12之后,出现“未能获取卷积算法。这可能是因为cuDNN无法初始化”错误,所以我宁愿不去沿着那条路线。我想知道是否可以在RPi上将这个经过预训练的模型与tensorflow 1.13.1一起使用。

这是我在RPi上正在做的事情:

>>> import tensorflow as tf

/usr/lib/python3.5/importlib/_bootstrap.py:222: RuntimeWarning: compiletime version 3.4 of module 'tensorflow.python.framework.fast_tensor_util' does not match runtime version 3.5
  return f(*args, **kwds)
/usr/lib/python3.5/importlib/_bootstrap.py:222: RuntimeWarning: builtins.type size changed, may indicate binary incompatibility. Expected 432, got 412

>>> print(tf.__version__)
1.13.1

>>> from keras.models import load_model
Using TensorFlow backend.

>>> model = load_model(save_dir+model_name)
WARNING:tensorflow:From /home/pi/.local/lib/python3.5/site-packages/tensorflow/python/framework/op_def_library.py:263: colocate_with (from tensorflow.python.framework.ops) is deprecated and will be removed in a future version.
Instructions for updating:
Colocations handled automatically by placer.
WARNING:tensorflow:From /home/pi/.local/lib/python3.5/site-packages/keras/backend/tensorflow_backend.py:3445: calling dropout (from tensorflow.python.ops.nn_ops) with keep_prob is deprecated and will be removed in a future version.
Instructions for updating:
Please use `rate` instead of `keep_prob`. Rate should be set to `rate = 1 - keep_prob`.
2019-03-25 17:08:11.471364: W tensorflow/core/framework/allocator.cc:124] Allocation of 209715200 exceeds 10% of system memory.
2019-03-25 17:12:55.123877: W tensorflow/core/framework/allocator.cc:124] Allocation of 209715200 exceeds 10% of system memory.
Backend terminated (returncode: -11)
Fatal Python error: Segmentation fault

我需要一些有关这种情况是否发生的指导-版本是否不兼容?也许该模型对于RPi来说太大(怀疑-这是一个只有18层的相当浅的模型)?我见过的其他与分段错误有关的论坛帖子似乎更加可怕(例如,他们甚至无法在Terminal中编写标准命令而看不到分段错误)-这种分段错误仅在上面发生(并重复发生)指挥。

任何建议/帮助都非常感谢!

0 个答案:

没有答案