我在Windows 10上运行Matlab2017.我调用一个python脚本,在云上运行一些语音识别任务,如下所示:
userAuthCode=1;% authentication code for user account to be run on cloud
cmd = ['C:\Python27\python.exe runASR.py userAuthCode];
system(cmd);
Run Code Online (Sandbox Code Playgroud)
当调用上面的命令时,python脚本在ASR云引擎上运行输入音频文件,并且在运行时,我可以在Matlab控制台中看到来自Python的音频文件的语音识别分数.我想做以下事情:
(1)并行执行多个这样的命令.可以说,我有2个输入音频文件(每个都有不同的音频段),我想运行上面的命令2次,但并行,使用单独的进程.我能够创建一个应该能够执行此操作的代码段:
for i=1: 2
userAuthCode=i;
cmd = ['C:\Python27\python.exe runASR.py userAuthCode];
runtime = java.lang.Runtime.getRuntime();
pid(i) = runtime.exec(cmd);
end
for i=1:2
pid(i).waitFor();
% get exit status
rc(i) = pid(i).exitValue();
end
Run Code Online (Sandbox Code Playgroud)
现在,当执行上面的代码时,我可以看到data1的ASRE分数,但不能看到数据2
的ASRE分数.变量rc中的退出状态是0,1,这证实了这一点.问题是我不知道错误的原因,因为Matlab中没有打印任何内容.如何从java/Matlab变量中捕获的Python中获取错误消息,以便我可以看看?
问题可能是并不支持多个ASRE并行调用(当然使用不同的用户帐户)但除非我能看到错误,否则我不会知道.
(2)当我独立运行单个命令时,如帖子开头所述,我能够在Matlab控制台中看到每个音频片段的Score消息,因为它们是从Python获得的.但是,使用java.lang.Runtime.getRuntime()和相关代码进行多处理时,Matlab控制台中不会显示任何消息.有没有办法显示这些消息(我假设显示可能是异步的?)
谢谢
你
我有关于以下问题的查询:
假设我们有一个9*7图片(x方向7像素,y方向9像素),假设4*4线程块和每个warp 8个线程,有多少warp将有控制偏差?
这里如何组织块和经线?对于x或水平方向,我可以假设每行2个块.类似地,对于垂直方向,每列3个块.但是,经线将如何组织?有人可以指出warp的线程id,以及控制分歧发生的情况(Thread ids等).
谢谢
我有批处理文件,用于设置用户路径,并作为Visual Studio IDE构建步骤的一部分运行.
@ECHO OFF
@ECHO %PATH%
set COMSPEC = "%VCINSTALLDIR%\vcvarsall.bat" amd64
setx PATH "..\..\lib\libsndfile;..\..\lib\simulink"
@ECHO %PATH%
Run Code Online (Sandbox Code Playgroud)
当我构建项目,关闭VS,并重新打开它,并重建时,我将附加路径视为PATH
变量的一部分.但是,我看到在Windows环境中设置环境变量PATH
变量是在用户环境变量下创建的
..\..\lib\libsndfile;..\..\lib\simulink
Run Code Online (Sandbox Code Playgroud)
问题1:
为什么此路径也作为附加路径显示为系统环境变量的一部分?
在echo %PATH%
通过Visual Studio控制台执行时(当我第二次运行项目时)打印系统变量路径和我创建的新路径附加到它.
问题2:
我想修改我的批处理文件,以便它只PATH
在首次运行Visual Studio构建期间在用户设置中设置一次环境变量.如果用户变量PATH
在后续运行中已存在,则不应再次执行set命令以避免在系统变量中反复添加新路径.
任何想法如何实现这一目标?
我绝对是初学者,对TCL一无所知.我需要在Win7环境中编写几个TCL脚本.我下载了以下内容: downloads.activestate.com/ActiveTCL/releases/8.6.4.1/ActiveTcl8.6.4.1.299124-win32-x86_64-threaded.exe
下载后,我在C:\ TCL\bin中看到以下文件
tclsh86.exe,teacup.exe,tkcon.tcl,wish86.exe和一些dll的.
我在Windows开始菜单中也看到以下内容:
我可以在上面的截图中将tclsh86.exe与Tlcsk86和wish86.exe联系到Wish86.
我有几个问题:
谢谢
你
我想撤消SVN上的标记提交,而不是trunk/branch的提交.我怎么做?
此外,删除后,如果标签提交完成,新标签提交的修订号将与上次删除的一个或更高1相同吗?
谢谢
你
我有一个关于在 ImageDataGenerator 上使用 fit() 的问题。我使用 Dense 层成功地批量运行了 MNIST 测试。
以下代码完美运行(验证准确率 98.5%)。
(X_train, y_train), (X_test, y_test) = mnist.load_data()
# separate data into train and validation
from sklearn.model_selection import train_test_split
# Split the data
valid_per = 0.15
X_train, X_valid, y_train, y_valid = train_test_split(X_train, y_train, test_size=valid_per, shuffle= True)
N1 = X_train.shape[0] # training size
N2 = X_test.shape[0] # test size
N3 = X_valid.shape[0] # valid size
h = X_train.shape[1]
w = X_train.shape[2]
num_pixels = h*w
# reshape N1 samples to num_pixels
#x_train …
Run Code Online (Sandbox Code Playgroud) 我使用matlab 将单值(val = 2)写为24位数据:
fid = fopen('.\t1.bin'), 'wb');
fwrite(fid, val, 'bit24', 0);
Run Code Online (Sandbox Code Playgroud)
在bin查看器中,我可以看到数据(值2)存储为02 00 00.我需要在python中将值读取为单个整数.我的代码不起作用:
struct_fmt = '=xxx'
struct_unpack = struct.Struct(struct_fmt).unpack_from
with open('.\\t1.bin', mode='rb') as file:
fileContent = file.read()
res = struct_unpack(fileContent)
Run Code Online (Sandbox Code Playgroud)
我也试过了
val = struct.unpack('>I',fileContent)
Run Code Online (Sandbox Code Playgroud)
但它给出了错误:
unpack需要长度为4的字符串参数
我究竟做错了什么?
谢谢
你