标签: coremltools

如何在CoreML自定义层中实现ktf.image.resize_images?

我正在尝试在CoreML中实现一个自定义层,它解决了ktf.image.resize_images在Swift中作为自定义图层类执行功能的Lambda层.

这是我的Phyton脚本:

def resizeImage(x, size):
    return ktf.image.resize_images(x, size)

def convert_lambda(layer):
    if layer.function == resizeImage:
        params = NeuralNetwork_pb2.CustomLayerParams()

        params.className = "resizeImage"
        params.description = "Decoder Resizing"

        params.parameters["scale"].intValue = layer.arguments["size"][0].value

        print("LAMBDA CONVERSION = Size embedded to CoreML Model: %d" % layer.arguments["size"][0].value)

        return params
    else:
        return None

...

for i in range(decoder_n):
    strides = 1
    reverse_i = decoder_n - i - 1
    size = encoder_layers[decoder_n - i - 1].shape[1:3]
    out_channels = 2 ** ((decoder_n - i - 2) // 3 + 5) …
Run Code Online (Sandbox Code Playgroud)

swift coreml coremltools

9
推荐指数
0
解决办法
449
查看次数

Keras LSTM 转换为不同形状输入层中的 Core ML 结果

我已经转换一个Keras模型到使用核心ML模型coremltools。原始的 Keras 模型具有以下架构:

__________________________________________________________________________________________________
Layer (type)                    Output Shape         Param #     Connected to                     
==================================================================================================
word_embeddings (InputLayer)    (None, 30)           0                                            
__________________________________________________________________________________________________
embedding (Embedding)           (None, 30, 256)      12800000    input_1[0][0]                    
__________________________________________________________________________________________________
activation_1 (Activation)       (None, 30, 256)      0           embedding[0][0]                  
__________________________________________________________________________________________________
bi_lstm_0 (Bidirectional)       (None, 30, 1024)     3149824     activation_1[0][0]               
__________________________________________________________________________________________________
bi_lstm_1 (Bidirectional)       (None, 30, 1024)     6295552     bi_lstm_0[0][0]                  
__________________________________________________________________________________________________
concatenate_1 (Concatenate)     (None, 30, 2304)     0           bi_lstm_1[0][0]                  
                                                                 bi_lstm_0[0][0]                  
                                                                 activation_1[0][0]               
__________________________________________________________________________________________________
attlayer (AttentionWeightedAver (None, 2304)         2304        concatenate_1[0][0]              
__________________________________________________________________________________________________
softmax (Dense)                 (None, 64)           147520      attlayer[0][0]                   
==================================================================================================
Run Code Online (Sandbox Code Playgroud)

我可以使用以下输入对 …

lstm keras coreml coremltools

8
推荐指数
0
解决办法
193
查看次数

tensorflow工具:无法弄清楚如何构建/运行summary_graph

我正在尝试将我的* .pb张量流模型转换为coreML。我被困在确定模型的输出节点上。

为了获取我的输出节点,我尝试在我的* .pb文件上构建并运行summary_graph,但是遇到了问题。下载源代码后如何构建和运行summary_graph?

我运行了以下命令:

bazel build tensorflow/tools/graph_transforms:summarize_graph
bazel-bin/tensorflow/tools/graph_transforms/summarize_graph --in_graph=tensorflow_inception_graph.pb
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

信息:分析了0个目标(已加载0个软件包)。INFO:找到0个目标... INFO:经过时间:0.389s,关键路径:0.01s INFO:构建成功完成,总共执行了1次操作bazel-bin / tensorflow / tools / graph_transforms / summarize_graph:无此类文件或目录

发出bazel命令后,空白的bazel-bin目录出现在我执行命令的位置。

注意,我的tensorflow安装中不存在summary_graph。所以我从github tensorflow / tools / graph_transforms下载了源代码,并将其复制到了我的tensorflow / tools / graph_transforms目录中。

该目录包含以下内容:

建立README.md init .py init.pyc add_default_attributes.cc add_default_attributes_test.cc backports.cc backports_test.cc compare_graphs.cc fake_quantize_training.cc fake_quantize_training_test.cc file_utils.cc file_utils.h file_utils_test.cc flatten_atrous.cc flat.fold_ants_cs_fold.fold_ants_fold.fold_ants.fold_fold。 fold_constants_test.cc fold_old_batch_norms.cc fold_old_batch_norms_test.cc freeze_requantization_ranges.cc freeze_requantization_ranges_test.cc fuse_convolutions.cc fuse_convolutions_test.cc insert_logging.cc insert_logging_test.cc obfuscate_names.cc obfuscate_names_test.cc出蟒蛇quantize_nodes.cc quantize_nodes_test.cc quantize_weights.cc quantize_weights_test.cc remove_attribute.cc remove_attribute_test.cc remove_device.cc remove_device_test.cc remove_ema.cc remove_ema_test。毫升.cc transform_graph.cc transform_graph.h transform_graph_main.cc transform_graph_test.cc transform_utils.cc transform_utils.h transform_utils_test.cccc strip_unused_nodes_test.cc summary_graph_main.cc …

tensorflow coremltools tensorflow-lite

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

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

“运行时错误:未实现 op 'pythonop' 的 PyTorch 转换函数”并且“Torchscript 目前不支持 Python 内置函数”

新手问题。我一直在尝试将此 PyTorch 模型转换为 CoreML 模型。我已按照此处的指南进行操作,但无法使其正常工作。我尝试了跟踪和脚本编写,但遇到了错误,这些错误暗示 TorchScript 中可能不支持某个操作:

错误torch.jit.traceRuntimeError: PyTorch convert function for op 'pythonop' not implemented

错误torch.jit.scriptRuntimeError: Python builtin <built-in method apply of FunctionMeta object at 0x7fa37e2ad600> is currently not supported in Torchscript

我怀疑可能无法将任何 PyTorch 模型转换为 CoreML 模型。是这样吗?我可以在不深入 PyTorch 操作和层的情况下以某种方式克服这些错误吗?

我的 python 脚本以防万一(模型在本地加载):

import warnings
import torch
import torch.nn as nn
import coremltools as ct

from efficientnet_pytorch import EfficientNet
from torchvision import datasets, models, transforms
from PIL import Image

# …
Run Code Online (Sandbox Code Playgroud)

pytorch coreml coremltools torchscript

5
推荐指数
0
解决办法
717
查看次数

谷歌 Colab 操作系统?

我创建了一个 TensorFlow 模型,然后通过 coremltools.convert 将其转换为 .mlmodel

重新加载 .mlmodel,我尝试通过 Google Colab 使用模型进行预测,但遇到以下错误:

例外:仅 macOS 版本 10.13 或更高版本支持模型预测。

在本地,我使用的是 Big Sur 版本 11.4 的 M1 MacBook Pro,所以我真的不明白这个错误是如何发生的,除非 Google Colab 使用不同的操作系统?

machine-learning tensorflow coreml coremltools google-colaboratory

4
推荐指数
1
解决办法
9077
查看次数

从 UIImage 转换为 MLMultiArray

我正在使用预训练的 mlmodel 进行图像分类。该模型将 3 x 224 x 224 MultiArray 作为输入作为图像格式。对于我当前的应用程序,我正在使用 UIImage。有没有办法将 UIImage 转换为 MLMultiArray?

我已经看到了一些关于从 Keras 模型转换为 CoreML 模型的答案,但我的模型已经是 mlmodel 格式并且无法访问数据。

multidimensional-array ios swift coreml coremltools

3
推荐指数
1
解决办法
1110
查看次数

将 TFLite (TensorFlow) 转换为 MLModel (Apple)

我正在尝试将 TFLite Face Mesh 模型转换为 MLModel (Apple)。

TFLite 型号说明: https://drive.google.com/file/d/1VFC_wIpw4O7xBOiTgUldl79d9LA-LsnA/view

TFLite实际.tflite文件: https://github.com/google/mediapipe/blob/master/mediapipe/models/face_landmark.tflite

查看 Apple 提供的 CoreMLTools ( https://coremltools.readme.io/docs/introductory-quickstart ) 似乎是可能的,但所有示例代码都演示了来自Keras和不来自的对话TFLite(尽管明确支持):

在此输入图像描述

如何将 TFLite 模型转换为 MLModel 模型?

python tensorflow coreml coremltools tensorflow2.0

3
推荐指数
1
解决办法
3799
查看次数