我在 TPU 上使用 TF 2 的对象检测 API 成功训练了一个模型,该模型保存为 .pb(SavedModel 格式)。然后我使用它重新加载它tf.saved_model.load
,它在使用转换为 shape 的张量的单个图像预测框时工作正常(1, w, h, 3)
。
import tensorflow as tf
import numpy as np
# Load Object Detection APIs model
detect_fn = tf.saved_model.load('/path/to/saved_model/')
image = tf.io.read_file(image_path)
image_np = tf.image.decode_jpeg(image, channels=3).numpy()
input_tensor = np.expand_dims(image_np, 0)
detections = detect_fn(input_tensor) # This works fine
Run Code Online (Sandbox Code Playgroud)
问题是我需要进行批量预测以将其缩放到 50 万张图像,但该模型的输入签名似乎仅限于处理具有 shape 的数据(1, w, h, 3)
。这也意味着我不能在 Tensorflow Serving 中使用批处理。我怎么解决这个问题?我可以只更改模型签名来处理批量数据吗?
所有工作(加载模型 + 预测)都在随对象检测 API 一起发布的官方容器内执行(来自此处)
我有一个批处理文件,其中包含以下内容:
50-A Description of the item $23
Run Code Online (Sandbox Code Playgroud)
我有一个脚本可以提取符号之前的所有内容$
,但我需要提取$
符号之后的所有内容。
这是脚本:
for /f "tokens=1 delims=/" %%a in (test.txt) do (echo %%a >> newfile.txt)
Run Code Online (Sandbox Code Playgroud)
我该如何改变它?
我正在尝试读取config.properties
包含 50 多个键、值对并使用其中一个调用.bat
文件中的所有键的文件。
我已经有一个可以读取属性的工作代码,但它会打印key=value
. 我只想返回键值,例如john
不是键名。
1.主.bat
set READER_FILE="C:\\read.bat"
@ECHO OFF
: INVOKING CONFIG PROPERTIES
call read.bat > %LOGGER% 2>&1
: call %READER_FILE%
: call DownloadContent.bat > %LOGGER% 2>&1
echo %name%
echo %city%
Run Code Online (Sandbox Code Playgroud)
2.读取.bat
@echo off
for /F "eol=# delims== tokens=1,*" %%a in (config.properties) do (
if NOT "%%a"=="" if NOT "%%b"=="" set config.%%a=%%b
)
set config.
for /F "tokens=1 delims==" %%v in ('set config. 2^>null') do (
set %%v=
)
Run Code Online (Sandbox Code Playgroud)
3. config.properties …
我想通过 cmd/批处理文件添加这个新的注册表项,以便始终以管理员身份运行 CMD。我知道我可以通过导航到命令中提到的路径来添加它。但我想将其添加到我的批处理文件之一中。我认为要添加字符串值我需要修改我的命令。我在这里遗漏了一些东西:-
reg.exe ADD \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers /t REG_SZ "C:\\WINDOWS\\system32\\cmd.exe"="RUNASADMIN" /f
Run Code Online (Sandbox Code Playgroud)
有人可以帮我解决这个问题吗?
我想创建一个批处理文件以将当前目录添加到我的系统变量PATH
( 不是我的用户变量)。
当我使用时:
SETX /M PATH "%CD%;%PATH%"
Run Code Online (Sandbox Code Playgroud)
它做了所需的事情。但是,我收到一条错误消息:
保存的数据被截断为 1024 个字符。
当我使用 GUI 检查系统变量时,我看到用户路径已添加到系统路径中。因此,系统路径有重复的条目。
我尝试将%PATH%
变量分配给临时变量并进行回显,但我也看到了重复的情况。
我在一些堆栈答案中看到,%PATH%
我们在批处理文件中使用的变量实际上是用户路径和系统路径的串联。
在命令提示符下,我尝试了:
REG QUERY "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PATH"
Run Code Online (Sandbox Code Playgroud)
但我不太清楚我们是否可以使用它来获取该 PATH 值并分配给另一个变量。
我正在尝试使用镶木地板数据文件运行批量转换推理作业,但找不到任何内容。到处都说批量转换仅接受文本/csv 或 json 格式类型。出于测试目的,我确实尝试在 AWS 帐户内使用 lambda 函数来调用 parque 数据,但批量转换作业从未成功。出现 ClientError: 400,解析数据时出错。
request = \
{
"TransformJobName": batch_job_name,
"ModelName": model_name,
"BatchStrategy": "MultiRecord",
"TransformOutput": {
"S3OutputPath": batch_output
},
"TransformInput": {
"DataSource": {
"S3DataSource": {
"S3DataType": "S3Prefix",
"S3Uri": batch_input
}
},
"ContentType": "application/x-parquet",
"SplitType": "Line",
"CompressionType": "None"
},
"TransformResources": {
"InstanceType": "ml.m4.xlarge",
"InstanceCount": 1
}
}
client.create_transform_job(**request)
return "Done"
Run Code Online (Sandbox Code Playgroud)
目前,我正在尝试使用 parque 数据文件在本地运行 sagemaker 批量转换作业。我有可以在本地终端中运行以“服务”的 docker 映像,并且可以使用 REST API 服务 Postman 从“localhost:8080/incalls”使用“二进制”输入函数上传 parque 数据文件来调用数据。它工作正常,我可以看到邮递员体内填充的数据。但是,我无法使用 parque 数据进行批量转换。
有没有人成功使用 parquet 文件使用 sagemaker 批量转换进行转换和预测?
transform batch-processing amazon-web-services parquet amazon-sagemaker
Ctrl在 VS 代码中,当我使用+切换注释时/,它会用 注释该行@REM
。我如何更改它以仅用 注释该行REM
?
我不知道如何"%PROGRAMFILES%"
使用 Windows 命令提示符逐字写入文件。
我试过的:
C:\Users\lxvs> echo "%PROGRAMFILES%" > test
C:\Users\lxvs> type test
"C:\Program Files"
C:\Users\lxvs> echo ^%PROGRAMFILES^% > test
C:\Users\lxvs> type test
%PROGRAMFILES%
C:\Users\lxvs> echo "^%PROGRAMFILES^%" > test
C:\Users\lxvs> type test
"^%PROGRAMFILES^%"
C:\Users\lxvs> echo "%%PROGRAMFILES%%" > test
C:\Users\lxvs> type test
"%C:\Program Files%"
Run Code Online (Sandbox Code Playgroud)
有没有办法接近它?
使用 py 和python在命令提示符中给我不同的结果。对于我的特定程序,当我运行时python file.py
,程序按预期工作。但是,当我运行时py file.py
,它给了我这个错误:
File "wordcount.py", line 60
print(f"{wordlist[num]} {wordcount[num]}")
^
Run Code Online (Sandbox Code Playgroud)
SyntaxError: invalid syntax
谁能告诉我为什么python有效而不是py?
编辑:我应该澄清一下,我已经检查过系统。输入 py 给了我 Python 3.8.3,这意味着 2.x 的解释与我的情况不符。import sys 进入 print(sys.version) 给了我相同的结果。
我想在 Windows 自托管运行器上访问之前作业的步骤结果。为了做到这一点,我使用如下输出变量,效果很好(在最后一步中打印“成功”)。
name: Debug workflow
on: workflow_dispatch
jobs:
job1:
runs-on: tester-1
outputs:
output1: ${{ steps.step1.outputs.MY_OUTPUT }}
steps:
- name: Checkout with submodules
id: checkout_step
uses: actions/checkout@v3
- name: Write variable to output
id: step1
run: echo '::set-output name=MY_OUTPUT::${{ steps.checkout_step.outcome }}'
job2:
runs-on: tester-1
needs: job1
env:
OUTPUT1: '${{needs.job1.outputs.output1}}'
steps:
- name: Print outputs from previous
run: echo ${{ env.OUTPUT1 }}
Run Code Online (Sandbox Code Playgroud)
然而::set-output
已被弃用,所以我想转换为正确的方法。根据另一个问题,我已经尝试将我的替换echo '::set-output name=MY_OUTPUT::${{ steps.checkout_step.outcome }}'
为
echo "MY_OUTPUT=${{ steps.checkout_step.outcome }}" >> $env:GITHUB_ENV
echo …
batch-file ×5
windows ×2
cmd ×1
detection ×1
github ×1
object ×1
parquet ×1
path ×1
powershell ×1
prediction ×1
python ×1
python-3.x ×1
syntax-error ×1
tensorflow ×1
transform ×1