dding neviroment

This commit is contained in:
Moliner Eloi 2021-08-31 15:36:06 +03:00
parent 0fe16d77be
commit 341c478072
8 changed files with 146 additions and 32 deletions

View File

@ -1,4 +1,3 @@
from typing import Tuple, Dict
import ast
import tensorflow as tf
@ -7,7 +6,6 @@ import os
import numpy as np
from scipy.fft import fft, ifft
import soundfile as sf
import librosa
import math
import pandas as pd
import scipy as sp
@ -32,10 +30,7 @@ def __noise_sample_generator(info_file,fs, length_seq, split):
else:
num=np.random.randint(0,len(segments))
loaded_data, Fs=sf.read(os.path.join(head,load_data_split["recording"].loc[i],segments[num]))
if fs!=Fs:
print("wrong fs, resampling...")
data=librosa.resample(loaded_data, Fs, fs)
assert(fs==Fs, "wrong sampling rate")
yield __extend_sample_by_repeating(loaded_data,fs,length_seq)
@ -385,11 +380,7 @@ def generator_train(path_music, path_noises,split, fs=44100, seg_len_s=5, extend
random.shuffle(train_samples)
for file in train_samples:
data, samplerate = sf.read(file)
if samplerate!=fs:
print("!!!!WRONG SAMPLE RATe!!!")
data=np.transpose(data)
data=librosa.resample(data, samplerate, 44100)
data=np.transpose(data)
assert(samplerate==fs, "wrong sampling rate")
data_clean=data
#Stereo to mono
if len(data.shape)>1 :
@ -456,7 +447,7 @@ def generator_train(path_music, path_noises,split, fs=44100, seg_len_s=5, extend
summed=summed.astype('float32')
yield tf.convert_to_tensor(summed), tf.convert_to_tensor(segment)
def load_data(buffer_size, path_music_train, path_music_val, path_noises, fs=44100, seg_len_s=5, extend=True, stereo=False) -> Tuple[tf.data.Dataset, tf.data.Dataset]:
def load_data(buffer_size, path_music_train, path_music_val, path_noises, fs=44100, seg_len_s=5, extend=True, stereo=False) :
print("Generating train dataset")
trainshape=int(fs*seg_len_s)
@ -470,14 +461,14 @@ def load_data(buffer_size, path_music_train, path_music_val, path_noises, fs=4
return dataset_train.shuffle(buffer_size), dataset_val
def load_data_test(buffer_size, path_pianos_test, path_noises, **kwargs) -> Tuple[tf.data.Dataset]:
def load_data_test(buffer_size, path_pianos_test, path_noises, **kwargs):
print("Generating test dataset")
segments_noisy, segments_clean=generate_test_data(path_pianos_test, path_noises, extend=True, **kwargs)
dataset_test=tf.data.Dataset.from_tensor_slices((segments_noisy, segments_clean))
#dataset_test=tf.data.Dataset.from_tensor_slices((segments_noisy[1:3], segments_clean[1:3]))
#train_dataset = train.cache().shuffle(buffer_size).take(info.splits["train"].num_examples)
return dataset_test
def load_data_formal( path_pianos_test, path_noises, **kwargs) -> Tuple[tf.data.Dataset]:
def load_data_formal( path_pianos_test, path_noises, **kwargs) :
print("Generating test dataset")
segments_noisy, segments_clean=generate_paired_data_test_formal(path_pianos_test, path_noises, extend=True, **kwargs)
print("segments::")
@ -487,7 +478,7 @@ def load_data_formal( path_pianos_test, path_noises, **kwargs) -> Tuple[tf.da
#train_dataset = train.cache().shuffle(buffer_size).take(info.splits["train"].num_examples)
return dataset_test
def load_real_test_recordings(buffer_size, path_recordings, **kwargs) -> Tuple[tf.data.Dataset]:
def load_real_test_recordings(buffer_size, path_recordings, **kwargs):
print("Generating real test dataset")
segments_noisy=generate_real_recordings_data(path_recordings, **kwargs)

81
environment.yml Normal file
View File

@ -0,0 +1,81 @@
name: historical_denoiser
channels:
- anaconda
- pytorch
- rapidsai
- defaults
- conda-forge
- nvidia
- gurobi
- IBMDecisionOptimization
- mosek
dependencies:
- _libgcc_mutex=0.1=main
- _openmp_mutex=4.5=1_gnu
- ca-certificates=2020.10.14=0
- cudatoolkit=10.1.243=h6bb024c_0
- cudnn=7.6.5=cuda10.1_0
- ld_impl_linux-64=2.35.1=h7274673_9
- libffi=3.3=he6710b0_2
- libgcc-ng=9.3.0=h5101ec6_17
- libgomp=9.3.0=h5101ec6_17
- libstdcxx-ng=9.3.0=hd4cf53a_17
- ncurses=6.2=he6710b0_1
- openssl=1.1.1k=h27cfd23_0
- pip=21.0.1=py37h06a4308_0
- python=3.7.11=h12debd9_0
- readline=8.1=h27cfd23_0
- setuptools=52.0.0=py37h06a4308_0
- sqlite=3.36.0=hc218d9a_0
- tk=8.6.10=hbc83047_0
- wheel=0.37.0=pyhd3eb1b0_0
- xz=5.2.5=h7b6447c_0
- zlib=1.2.11=h7b6447c_3
- pip:
- absl-py==0.13.0
- astunparse==1.6.3
- cachetools==4.2.2
- certifi==2021.5.30
- cffi==1.14.6
- charset-normalizer==2.0.4
- gast==0.3.3
- google-auth==1.35.0
- google-auth-oauthlib==0.4.5
- google-pasta==0.2.0
- grpcio==1.39.0
- h5py==2.10.0
- hydra-core==0.11.3
- idna==3.2
- importlib-metadata==4.8.1
- keras-preprocessing==1.1.2
- markdown==3.3.4
- numpy==1.18.5
- oauthlib==3.1.1
- omegaconf==1.4.1
- opt-einsum==3.3.0
- pandas==1.3.2
- protobuf==3.17.3
- pyasn1==0.4.8
- pyasn1-modules==0.2.8
- pycparser==2.20
- python-dateutil==2.8.2
- pytz==2021.1
- pyyaml==5.4.1
- requests==2.26.0
- requests-oauthlib==1.3.0
- rsa==4.7.2
- scipy==1.4.1
- six==1.16.0
- soundfile==0.10.3.post1
- tensorboard==2.5.0
- tensorboard-data-server==0.6.1
- tensorboard-plugin-wit==1.8.0
- tensorflow==2.3.0
- tensorflow-estimator==2.3.0
- termcolor==1.1.0
- tqdm==4.62.2
- typing-extensions==3.10.0.2
- urllib3==1.26.6
- werkzeug==2.0.1
- wrapt==1.12.1
- zipp==3.5.0

View File

@ -10,7 +10,7 @@ def run(args):
import soundfile as sf
import numpy as np
from tqdm import tqdm
import librosa
import scipy.signal
path_experiment=str(args.path_experiment)
@ -47,16 +47,17 @@ def run(args):
audio=str(args.inference.audio)
data, samplerate = sf.read(audio)
if samplerate!=44100:
print("Resampling")
data=np.transpose(data)
data=librosa.resample(data, samplerate, 44100)
data=np.transpose(data)
print(data.dtype)
#Stereo to mono
if len(data.shape)>1:
data=np.mean(data,axis=1)
if samplerate!=44100:
print("Resampling")
data=scipy.signal.resample(data, int((44100 / samplerate )*len(data))+1)
segment_size=44101*20 #20s segments

View File

@ -1,8 +1,8 @@
#!/bin/bash
module load anaconda
#module load anaconda
source activate /scratch/work/molinee2/conda_envs/unet_env
#source activate /scratch/work/molinee2/conda_envs/unet_env
python inference.py path_experiment="experiments/trained_model" inference.audio=$1

47
requirements.txt Normal file
View File

@ -0,0 +1,47 @@
absl-py==0.13.0
astunparse==1.6.3
cachetools==4.2.2
certifi==2021.5.30
cffi==1.14.6
charset-normalizer==2.0.4
gast==0.3.3
google-auth==1.35.0
google-auth-oauthlib==0.4.5
google-pasta==0.2.0
grpcio==1.39.0
h5py==2.10.0
hydra-core==0.11.3
idna==3.2
importlib-metadata==4.8.1
Keras-Preprocessing==1.1.2
Markdown==3.3.4
numpy==1.18.5
oauthlib==3.1.1
omegaconf==1.4.1
opt-einsum==3.3.0
pandas==1.3.2
protobuf==3.17.3
pyasn1==0.4.8
pyasn1-modules==0.2.8
pycparser==2.20
python-dateutil==2.8.2
pytz==2021.1
PyYAML==5.4.1
requests==2.26.0
requests-oauthlib==1.3.0
rsa==4.7.2
scipy==1.4.1
six==1.16.0
SoundFile==0.10.3.post1
tensorboard==2.5.0
tensorboard-data-server==0.6.1
tensorboard-plugin-wit==1.8.0
tensorflow==2.3.0
tensorflow-estimator==2.3.0
termcolor==1.1.0
tqdm==4.62.2
typing-extensions==3.10.0.2
urllib3==1.26.6
Werkzeug==2.0.1
wrapt==1.12.1
zipp==3.5.0

View File

@ -7,7 +7,6 @@ logger = logging.getLogger(__name__)
def run(args):
import unet
import tensorflow as tf
import tensorflow_addons as tfa
import dataset_loader
from tensorflow.keras.optimizers import Adam
import soundfile as sf

View File

@ -1,9 +1,9 @@
#!/bin/bash
module load anaconda
#module load anaconda
#module load matlab/r2020b
#
source activate /scratch/work/molinee2/conda_envs/unet_env
#source activate /scratch/work/molinee2/conda_envs/unet_env
n=1
PATH_EXPERIMENT=/scratch/work/molinee2/unet_dir/unet_denoising_github/experiments/${n}

View File

@ -1,15 +1,10 @@
import os
import numpy as np
import cv2
import librosa
import imageio
import tensorflow as tf
import soundfile as sf
import subprocess
from tqdm import tqdm
import pandas as pd
from scipy.io import loadmat
class Trainer():
def __init__(self, model, optimizer,loss, strategy, path_experiment, args):