shell脚本如何读取批量测试文件夹中的数据
How does a shell script read the data in a batch test folder
最近复制了一个基于TensorFlow0.12的SEGAN实验1.The作者提供了一个shell测试脚本(clean_wav.sh),如下图:
此为作者提供的原版。根据我测试数据的路径,修改后的版本如下:
Noisy_testset_wav_16k是我的测试数据文件夹,但是运行脚本系统会报错:
这个文件夹是一个目录,但是当我把路径改成:
NOISY_WAVNAME='/home/zyf/SEGAN/ SEGAN/segan-master1/noisy_testset_wav_16k/p232_023.wav'
脚本运行正常,也能实现程序功能
但是,一次只能处理一个音频文件,无法处理batches.Hope大家知道原因或者有意见,可以给我提一两点意见,非常感谢。
代码是按照只处理文件的方式写的,你可以在shell脚本中添加一个循环来处理文件夹中的所有文件:
for f in $NOISY_WAVDIR/*.wav; do
python main.py --init_noise_std 0. --save_path segan_v1.1 \
--batch_size 100 --g_nl prelu --weights SEGAN-41700 \
--preemph 0.95 --bias_deconv True \
--bias_downconv True --bias_D_conv True \
--test_wav $f --save_clean_path $SAVE_PATH
done
但这不是 GPU 的最佳使用方式,因为您不会批量处理音频。理想情况下,您希望修改 python 代码以批量处理音频,但这不是一项简单的任务。
最近复制了一个基于TensorFlow0.12的SEGAN实验1.The作者提供了一个shell测试脚本(clean_wav.sh),如下图:
此为作者提供的原版。根据我测试数据的路径,修改后的版本如下:
Noisy_testset_wav_16k是我的测试数据文件夹,但是运行脚本系统会报错:
这个文件夹是一个目录,但是当我把路径改成:
NOISY_WAVNAME='/home/zyf/SEGAN/ SEGAN/segan-master1/noisy_testset_wav_16k/p232_023.wav'
脚本运行正常,也能实现程序功能
但是,一次只能处理一个音频文件,无法处理batches.Hope大家知道原因或者有意见,可以给我提一两点意见,非常感谢。
代码是按照只处理文件的方式写的,你可以在shell脚本中添加一个循环来处理文件夹中的所有文件:
for f in $NOISY_WAVDIR/*.wav; do
python main.py --init_noise_std 0. --save_path segan_v1.1 \
--batch_size 100 --g_nl prelu --weights SEGAN-41700 \
--preemph 0.95 --bias_deconv True \
--bias_downconv True --bias_D_conv True \
--test_wav $f --save_clean_path $SAVE_PATH
done
但这不是 GPU 的最佳使用方式,因为您不会批量处理音频。理想情况下,您希望修改 python 代码以批量处理音频,但这不是一项简单的任务。