我已将一个大型 (10+GB) 数据集上传到 Azure Blob 存储中,其中包含数千张图像 (jpg) 格式。
我在 Azure 机器学习服务中将 blob 容器注册为数据存储,还注册了一个文件数据集,指向包含图像的实际 blob 容器。(显示有 44440 张图像)。
现在,我想运行一个笔记本(在 AzureML 中),它需要读取特定图像并将其加载到图像中(使用cv2.imread()
)。但是,我似乎没有找到合适的文档...我看到的唯一选择是将整个数据集下载到本地临时存储上,我不喜欢这样做(多个千兆字节)。
是否有一个选项可以用来访问实际的文件引用并将其传递给我的第 3 方方法?
您可以在下面找到一些相关的代码:
# get workspace and datastore
ws = Workspace.from_config()
dstore = ws.datastores[datastore_name]
image_dataset = ws.datasets[image_dataset_name]
mounted_images = image_dataset.mount()
img = cv2.imread(mounted_images['my_file_name.jpg']) # this will not work
Run Code Online (Sandbox Code Playgroud)
关于如何让它发挥作用有什么想法吗?
谢谢
我正在使用 Python SDK 将经过训练的模型部署到 Azure 机器学习上的 ACI 端点。我已经创建了我的 Score.py 文件,但我希望在调用该文件时传递一个参数(就像使用训练文件一样),我可以使用argparse
. 但是,我似乎没有找到如何传递参数这是我必须创建 InferenceConfig 环境的代码,但它显然不起作用。我应该使用额外的 Docker 文件步骤吗?
from azureml.core.conda_dependencies import CondaDependencies
from azureml.core.environment import Environment
from azureml.core.model import InferenceConfig
env = Environment('my_hosted_environment')
env.python.conda_dependencies = CondaDependencies.create(
conda_packages=['scikit-learn'],
pip_packages=['azureml-defaults'])
scoring_script = 'score.py --model_name ' + model_name
inference_config = InferenceConfig(entry_script=scoring_script, environment=env)
Run Code Online (Sandbox Code Playgroud)
添加 Score.py 以供参考我希望如何使用该脚本中的参数:
#removed imports
import argparse
def init():
global model
parser = argparse.ArgumentParser(description="Load sklearn model")
parser.add_argument('--model_name', dest="model_name", required=True)
args, _ = parser.parse_known_args()
model_path = Model.get_model_path(model_name=args.model_name)
model = joblib.load(model_path)
def run(raw_data):
try: …
Run Code Online (Sandbox Code Playgroud) 作为 Azure Durable Functions 领域的新手,我正在努力寻找处理对已实施速率限制的 API 的下游调用的最佳方法。
我的流程设置方式如下:
HttpTrigger
和绑定,并调用下一个编排函数:DurableClient
OrchestrationTrigger
在签名中有绑定。该函数将调用 API(等待)并返回集合。对于该集合中的每个项目,它将启动一个新的 Activity:(context.CallActivityAsync()
将它们组合在 a 中List
并执行 a Task.WhenAll()
)ActivityTrigger
在签名中具有绑定。该函数必须调用速率受限的 API 端点。我想要限制的正是这些活动(跨多个编排)。所以,我正在寻找的是节流模式的实现:
我没有看到实现此目的的标准实现,并且我希望将尽可能多的检查/睡眠逻辑从主编排中移出。
最好的方法是为每个必须限制的 API 调用实现子编排,在调用 Activity 之前必须进行检查吗?
期待任何见解。
我有以下一段代码(简化为了使这个repro).显然,catch异常块将包含更多逻辑.
我有以下代码:
void Main()
{
var result = ExecuteAction(async() =>
{
// Will contain real async code in production
throw new ApplicationException("Triggered exception");
}
);
}
public virtual TResult ExecuteAction<TResult>(Func<TResult> func, object state = null)
{
try
{
return func();
}
catch (Exception ex)
{
// This part is never executed !
Console.WriteLine($"Exception caught with error {ex.Message}");
return default(TResult);
}
}
Run Code Online (Sandbox Code Playgroud)
为什么catch异常块从未执行过?
对于一个使用 ASP.Net Core 构建的比利时体育社区项目,我使用 C# 动态渲染图像。该图像基于“基本图片”,其中我动态添加文本,然后将图像返回给客户端。
效果很好,我对结果很满意。
但是,当我在我的开发环境(MacOS)上比较客户端生成的图像时,与我的生产环境(Azure 平台中的 Linux VM)相比,该图像呈现得更漂亮。
作为对比,你可以看两张图片,看文字你就会发现差异。在第二张图片中,文本字符串看起来像素化得多。
我可以做些什么来避免这种情况吗?这可能与 GPU 的(不)可用性或类似的情况有关吗?
欢迎任何见解。
(我还将 Nuget 包添加runtime.osx.10.10-x64.CoreCompat.System.Drawing
到我的项目中,这是在我的 MacOS 上成功运行所必需的)
供参考:相关代码片段:
public async Task<byte[]> CreateImageAsync(YearReview summary)
{
var fonts = new PrivateFontCollection();
fonts.AddFontFile(Path.Combine(_hostingEnvironment.WebRootPath, "fonts/bold.ttf"));
fonts.AddFontFile(Path.Combine(_hostingEnvironment.WebRootPath, "fonts/light.otf"));
var boldFont = fonts.Families[0];
var lightFont = fonts.Families[1];
var assembly = Assembly.GetAssembly(typeof(YearImageGenerator));
var resourceName = "CotacolApp.StaticData.year-a.png";
// Leaving out some variable/constants, irrelevant to the sample
await using (var stream = assembly.GetManifestResourceStream(resourceName))
{
var bitmap = new Bitmap(stream);
using (var gfx = …
Run Code Online (Sandbox Code Playgroud) 我有一个 Azure Functions 项目,其中有一个使用服务总线绑定的函数(用于侦听订阅并发送到主题)。
Azure 函数部署在托管标识下运行。由于我们希望使用 Azure Bicep 自动部署所有内容,因此我希望在 Azure Bicep 文件中自动为该托管标识的服务总线命名空间(或实体)提供正确的角色分配。
但我似乎不知道该怎么做。有人能够指示正确的二头肌片段来创建角色分配Azure Service Bus Data Receiver
以及Azure Service Bus Data Sender
在服务总线实体上针对特定托管身份吗?
(更好的是:我知道我对二头肌相当陌生,我怎样才能自己找到答案)
此致
azure azureservicebus azure-functions azure-managed-identity azure-bicep
我们正在考虑从 B2C 应用程序的内置用户流程开始。我们希望受益于注册用户的标准流程、忘记密码的工作流程、MFA 等......
然而,由于我们平台的业务需求可能(并且将会)随着时间的推移而变化,标准用户流可能不够,我们可能需要随着时间的推移切换到自定义策略。
因此,我们想知道是否可以从当时标准配置的用户流迁移(导出/导入?)到基于 XML 的自定义策略?
我想创建一个由Event Hub消息触发的Azure功能.我还想使用DocumentDb中的Document,从触发器消息的内容(事件中心消息)中获取DocumentId.我不明白这是怎么可能的,我怀疑是不是,但我想尝试一下.在输入中,我选择了DocumentDB并在DocumentId输入框中(默认为{documentId}),我输入了{myEventHubMessage.DocumentId},其中myEventHubMessage是我的触发器的名称,DocumentId是消息内容中的json属性.
知道这是否可行以及我如何解决这个问题(没有在我的函数中硬编码DocDb连接字符串)
我在一个研究项目中使用 Azure Durable Functions,我想验证在持久实体中实现计时器/提醒概念的最佳方法是什么。
在 Service Fabric 中,Actor 可以安排“持久计时器”,以便框架可以调用 Actor 本身的方法。我正在寻找类似的概念。
考虑为我的系统中的每个设备创建的持久实体。我希望每个参与者都按计划运行功能,并自行安排。(我想避免拥有需要为每个设备安排任务的编排功能,并且只需让实体自行运行任务)。
这是允许的、可能的或预见的事情吗?
希望这个问题足够清楚,但很乐意在需要时提供更多背景信息。
train.py
在 Estimator 中运行时,我想访问脚本中的 Workspace 对象。
我目前可以使用以下代码访问 Run 对象:
run = Run.get_context()
Run Code Online (Sandbox Code Playgroud)
但是我似乎无法在我的训练脚本中接触到 Workspace 对象。我将主要使用它来访问数据存储和数据集(因为我希望将所有数据集引用保留在训练脚本中,而不是将它们作为输入数据集传递)
知道这是否/如何可能吗?
azure ×6
azure-machine-learning-service ×3
c# ×3
python ×3
actor ×1
asp.net-core ×1
async-await ×1
asynchronous ×1
azure-ad-b2c ×1
azure-bicep ×1
exception ×1
gdi ×1
lambda ×1