我正在尝试在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) 我已经转换一个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)
我可以使用以下输入对 …
我正在尝试将我的* .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 …
我有以下错误: 运行此脚本时https://pastebin.com/X7146Ury.
AttributeError: 'InputLayer' object has no attribute 'inbound_nodes'
Run Code Online (Sandbox Code Playgroud) 新手问题。我一直在尝试将此 PyTorch 模型转换为 CoreML 模型。我已按照此处的指南进行操作,但无法使其正常工作。我尝试了跟踪和脚本编写,但遇到了错误,这些错误暗示 TorchScript 中可能不支持某个操作:
错误torch.jit.trace:RuntimeError: PyTorch convert function for op 'pythonop' not implemented
错误torch.jit.script:RuntimeError: 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) 我创建了一个 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
我正在使用预训练的 mlmodel 进行图像分类。该模型将 3 x 224 x 224 MultiArray 作为输入作为图像格式。对于我当前的应用程序,我正在使用 UIImage。有没有办法将 UIImage 转换为 MLMultiArray?
我已经看到了一些关于从 Keras 模型转换为 CoreML 模型的答案,但我的模型已经是 mlmodel 格式并且无法访问数据。
我正在尝试将 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 模型?
coremltools ×8
coreml ×7
tensorflow ×4
keras ×2
python ×2
swift ×2
ios ×1
lstm ×1
pytorch ×1
torchscript ×1