前提・実現したいこと
私は、pythonや深層学習については初心者で、今回のエラーメッセージについても理解しきれているわけではありません。
下記のサイトで深層学習を使ってノイズ除去をしたいと思っているのですが、
https://sja-analysis.org/python-deep-learning-noise-reduction/#toc2
jupyter notebookで実行して
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8e in position 65: invalid start byte
と出ます。
このエラーに関する解決策にencoding='UTF-8'のようなものがあり、
これを
val_dataset.create_tf_record(prefix='val', subset_size=2000, encoding='UTF-8')
のように入力しましたが、
TypeError: create_tf_record() got an unexpected keyword argument 'encoding'
となりました。
この結果から
①encoding='UTF-8'と入力することが必要ない
②encoding='UTF-8'を別の行に入力する
③encoding='UTF-8'以外の方法がある
等、色々な疑問が浮かびますが、自分一人では解決できそうにありません。
どなたか解答を頂けると幸いです。
発生している問題・エラーメッセージ
Total number of training examples: 6391 # of Training clean files: 5391 # of Validation clean files: 1000 Number of classes: [0 1 2 3 4 5 6 7 8 9] Class c: 0 has: 900 files Class c: 1 has: 396 files Class c: 2 has: 900 files Class c: 3 has: 900 files Class c: 4 has: 900 files Class c: 5 has: 907 files Class c: 6 has: 342 files Class c: 7 has: 904 files Class c: 8 has: 846 files Class c: 9 has: 900 files Noise training: 7695 Noise validation: 200 --------------------------------------------------------------------------- UnicodeDecodeError Traceback (most recent call last) <ipython-input-28-c9c0ce041cf9> in <module> 24 25 val_dataset = Dataset(clean_val_filenames, noise_val_filenames, **config) ---> 26 val_dataset.create_tf_record(prefix='val', subset_size=2000) 27 28 train_dataset = Dataset(clean_train_filenames, noise_train_filenames, **config) ~\dataset.py in create_tf_record(self, prefix, subset_size, parallel) 139 continue 140 --> 141 writer = tf.io.TFRecordWriter(tfrecord_filename) 142 clean_filenames_sublist = self.clean_filenames[i:i + subset_size] 143 ~\anaconda3\lib\site-packages\tensorflow\python\lib\io\tf_record.py in __init__(self, path, options) 296 297 # pylint: disable=protected-access --> 298 super(TFRecordWriter, self).__init__( 299 compat.as_bytes(path), options._as_record_writer_options()) 300 # pylint: enable=protected-access UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8e in position 65: invalid start byte
該当のソースコード
python
1#data_processing. 2from mozilla_common_voice import MozillaCommonVoiceDataset 3from urban_sound_8K import UrbanSound8K 4from dataset import Dataset 5import warnings 6 7 8warnings.filterwarnings(action='ignore') 9 10mozilla_basepath = r'C:\Users\ユーザ名\cnn-audio-denoiser-master\data_processing\en' 11urbansound_basepath = r'C:\Users\ユーザ名\cnn-audio-denoiser-master\data_processing\UrbanSound8K' 12 13mcv = MozillaCommonVoiceDataset(mozilla_basepath, val_dataset_size=1000) 14clean_train_filenames, clean_val_filenames = mcv.get_train_val_filenames() 15 16us8K = UrbanSound8K(urbansound_basepath, val_dataset_size=200) 17noise_train_filenames, noise_val_filenames = us8K.get_train_val_filenames() 18 19windowLength = 256 20config = {'windowLength': windowLength, 21 'overlap': round(0.25 * windowLength), 22 'fs': 16000, 23 'audio_max_duration': 0.8} 24 25val_dataset = Dataset(clean_val_filenames, noise_val_filenames, **config) 26val_dataset.create_tf_record(prefix='val', subset_size=2000) 27 28train_dataset = Dataset(clean_train_filenames, noise_train_filenames, **config) 29train_dataset.create_tf_record(prefix='train', subset_size=4000) 30 31## Create Test Set 32clean_test_filenames = mcv.get_test_filenames() 33 34noise_test_filenames = us8K.get_test_filenames() 35 36test_dataset = Dataset(clean_test_filenames, noise_test_filenames, **config) 37test_dataset.create_tf_record(prefix='test', subset_size=1000, parallel=False) 38
(パス参照部分のユーザ名は隠しているだけで実際は数字やアルファベットになっています)
補足情報(FW/ツールのバージョンなど)
windows10
python3.8.8(jupyternotebook)
Anaconda4.10.3
tensorflow2.3.0
この質問内に足りていない情報等がございましたら、指摘していただきたいです。
その都度、可能な限り追記していきます。
あなたの回答
tips
プレビュー