小编use*_*783的帖子

使用java.lang.Runtime.getRuntime无法在matlab中调用多个python脚本实例

我在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控制台中不会显示任何消息.有没有办法显示这些消息(我假设显示可能是异步的?)

谢谢

python java matlab multiprocessing

6
推荐指数
1
解决办法
272
查看次数

cuda warp size and control divergence

我有关于以下问题的查询:

假设我们有一个9*7图片(x方向7像素,y方向9像素),假设4*4线程块和每个warp 8个线程,有多少warp将有控制偏差?

这里如何组织块和经线?对于x或水平方向,我可以假设每行2个块.类似地,对于垂直方向,每列3个块.但是,经线将如何组织?有人可以指出warp的线程id,以及控制分歧发生的情况(Thread ids等).

谢谢

cuda gpu-warp

2
推荐指数
1
解决办法
1871
查看次数

如何在Windows上只在批处理文件中设置一次PATH环境变量?

我有批处理文件,用于设置用户路径,并作为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命令以避免在系统变量中反复添加新路径.

任何想法如何实现这一目标?

batch-file

2
推荐指数
1
解决办法
7026
查看次数

为什么这样可以用TCL下载文件

我绝对是初学者,对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.

我有几个问题:

  1. 文件夹中有如此多可执行文件的目的是什么.我假设我只需要Tclsh86来运行TCL脚本?
  2. 执行TCL脚本的最佳方法是什么?在Notepad/Notepad ++中创建它们并从TCL shell运行它们?在这之前,我是否需要在环境变量中设置路径等?
  3. 我下载了免费版的Komodo IDE,但没有像FILE,Run等标准版面,所以似乎没用.任何人都可以建议IDE运行TCL脚本,类似于PyCharm?

谢谢

tcl

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

如何撤消SVN中的"标记提交"?

我想撤消SVN上的标记提交,而不是trunk/branch的提交.我怎么做?
此外,删除后,如果标签提交完成,新标签提交的修订号将与上次删除的一个或更高1相同吗?
谢谢

svn

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

带有 featurewise_center 的 ImageDataGenerator() 上的 Keras fit() 验证准确性较差

我有一个关于在 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)

python keras

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

在python中读取24位二进制数据不起作用

我使用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的字符串参数

我究竟做错了什么?
谢谢

python

0
推荐指数
1
解决办法
674
查看次数

标签 统计

python ×3

batch-file ×1

cuda ×1

gpu-warp ×1

java ×1

keras ×1

matlab ×1

multiprocessing ×1

svn ×1

tcl ×1