Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
keras->;mlmodel:coreml对象没有属性';转换为';_Keras_Coreml - Fatal编程技术网

keras->;mlmodel:coreml对象没有属性';转换为';

keras->;mlmodel:coreml对象没有属性';转换为';,keras,coreml,Keras,Coreml,我正在尝试使用coreml将我的keras模型转换为mlmodel。然而,这意味着coremltools模块没有“convert”属性 AttributeError: 'module' object has no attribute 'convert' 我的coremltools、keras、tensorflow(tensorflow gpu)模块都是最新的。 我也在使用python 2.7.10 我用过windows和mac,但都不起作用。但是,caffe.convert正在使用caffe模

我正在尝试使用coreml将我的keras模型转换为mlmodel。然而,这意味着coremltools模块没有“convert”属性

AttributeError: 'module' object has no attribute 'convert'
我的coremltools、keras、tensorflow(tensorflow gpu)模块都是最新的。 我也在使用python 2.7.10

我用过windows和mac,但都不起作用。但是,caffe.convert正在使用caffe模型工作

代码:

根据文档,我希望converters.keras.convert方法在coremltools中可用。 文件:

请帮忙,提前谢谢

编辑:


解决方案是使用virtualenv。请按照以下说明操作:

装置 我们建议使用virtualenv来使用、安装或构建coremltools。是 确保使用系统pip安装virtualenv

pip安装virtualenv
安装coremltools的方法如下所示 . 要创建名为
pythonenv
的Python虚拟环境,请执行以下步骤:

# Active your virtual environment
source coremltools/bin/activate


# Install coremltools in the new virtual environment, pythonenv
pip install --upgrade pip
pip install -U coremltools==3.0b5
#为virtualenv创建一个文件夹
mkdir虚拟人
cd虚拟人
#为核心ML项目创建Python虚拟环境
虚拟coremltools
要激活新虚拟环境并在此环境中安装
coremltools
,请执行以下步骤:

# Active your virtual environment
source coremltools/bin/activate


# Install coremltools in the new virtual environment, pythonenv
pip install --upgrade pip
pip install -U coremltools==3.0b5
安装keras和tensorflow 现在确保它能工作。激活coremltools环境后,运行 python Python 3.7.4(v3.7.4:e09359112e,2019年9月5日,14:54:52) >>>导入coremltools >>>coremltools.converts.keras.convert() 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 TypeError:convert()缺少1个必需的位置参数:“model”


这个家伙问题的功劳是:

共产主义黑客的答案不适用于我当前的设置:

  • tensorflow 2.4.1
  • coremltools 4.1
  • Python 3.8.7
但是,在查看的文档之后,我能够通过从函数中删除
keras
来修复它,现在调用可以工作了:

import coremltools

coreml_model = coremltools.converters.convert(model, 
                                              input_names="inputname", 
                                              output_names="outputname")
运行上述命令现在会在我的Jupyter笔记本中产生以下结果:

Running TensorFlow Graph Passes: 100%|██████████| 5/5 [00:00<00:00, 37.53 passes/s]
Converting Frontend ==> MIL Ops: 100%|██████████| 6/6 [00:00<00:00, 5764.05 ops/s]
Running MIL optimization passes: 100%|██████████| 17/17 [00:00<00:00, 5633.05 passes/s]
Translating MIL ==> MLModel Ops: 100%|██████████| 3/3 [00:00<00:00, 6864.65 ops/s]

运行TensorFlow图通过率:100%|██████████| 5/5[00:00 MIL运行:100%|██████████| 6/6[00:00你确定你的方法名包含keras这个词吗,也就是说,你没有调用类似
coremltools.converts.convert(…)
?@MatthijsHollemans您好,谢谢您的回复。我确信它包括Keras。因此,该方法在您的机器上工作?我可以知道您使用的coremltools版本是什么吗?我已经使用不同版本的coremltools(Python 2和Python 3)转换了许多Keras模型。也许您可以粘贴用于转换的实际代码?您好这是我用来进行转换的实际代码。同样的问题仍然存在于我的windows上,但在我的mac上,现在它说有一个AttributeError:“function”对象没有属性“relu6”。非常感谢!我没有在windows上使用coremltools,所以我不能说任何有用的东西。relu6错误是因为您使用的是Keras tha的版本t与coremltools不兼容。(暂时)将Keras降级到2.1.6或coremltools想要的任何版本。
>>> python
Python 3.7.4 (v3.7.4:e09359112e, Sep 5 2019, 14:54:52)
>>> import coremltools
>>> coremltools.converters.keras.convert()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: convert() missing 1 required positional argument: 'model'
import coremltools

coreml_model = coremltools.converters.convert(model, 
                                              input_names="inputname", 
                                              output_names="outputname")
Running TensorFlow Graph Passes: 100%|██████████| 5/5 [00:00<00:00, 37.53 passes/s]
Converting Frontend ==> MIL Ops: 100%|██████████| 6/6 [00:00<00:00, 5764.05 ops/s]
Running MIL optimization passes: 100%|██████████| 17/17 [00:00<00:00, 5633.05 passes/s]
Translating MIL ==> MLModel Ops: 100%|██████████| 3/3 [00:00<00:00, 6864.65 ops/s]