Keine falsche Schlange

So, der Entschlusshammer ist soeben niedergesaust, dieses Wochenende soll ganz unter dem Zeichen "Einstieg in das Programmieren mit Julia & Python" stehen". Ganz recht, zwei auf einmal diesmal - müsste eigentlich gehen. Dieser ziemlich unwichtige Post enthält nur die Ankündigung, ein paar Links betreffend Python und ggf. später ergänzte erste Schritte mit ebengenannter.

Links

Sechs Gründe, warum ihr spätestens 2020 Python lernen solltet
Mein erstes Mal programmieren: Wie ich mir nebenbei selbst Python beibrachte

How To Install Python 3 on Windows {Quickstart} | PhoenixNAP KB
How to install Python (any version) in Windows when you've no admin priviledges? - Stack Overflow

GitHub - tyiannak/pyAudioAnalysis: Python Audio Analysis Library: Feature Extraction, Classification, Segmentation and Applications
Getting Started with Audio Data Analysis (Voice) using Deep Learning
Automate the Boring Stuff with Python


Let's go (to sleep)*!




* Erstmal Siesta heute nachmittag.



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

C:\Users\xyz7689>python -V
Python 3.7.4

C:\Users\xyz7689>pip install virtualenv
Collecting virtualenv
  Downloading https://files.pythonhosted.org/packages/8b/12/8d4f45b8962b03ac9efefe5ed5053f6b29334d83e438b4fe379d21c0cb8e/virtualenv-16.7.5-py2.py3-none-any.whl (3.3MB)
    100% |████████████████████████████████| 3.3MB 1.6MB/s
Installing collected packages: virtualenv
Successfully installed virtualenv-16.7.5
You are using pip version 19.0.3, however version 19.2.3 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.

C:\Users\xyz7689>python -m pip install --upgrade pip
Collecting pip
  Downloading https://files.pythonhosted.org/packages/30/db/9e38760b32e3e7f40cce46dd5fb107b8c73840df38f0046d8e6514e675a1/pip-19.2.3-py2.py3-none-any.whl (1.4MB)
    100% |████████████████████████████████| 1.4MB 2.1MB/s
Installing collected packages: pip
  Found existing installation: pip 19.0.3
    Uninstalling pip-19.0.3:
      Successfully uninstalled pip-19.0.3
Successfully installed pip-19.2.3


.........................................................................................................................................................................................................................

Ein bisschen herumgepipped.

,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,



When you get started with data science, you start simple. You go through simple projects like Loan Prediction problem or Big Mart Sales Prediction. These problems have structured data arranged neatly in a tabular format. In other words, you are spoon-fed the hardest part in data science pipeline.

The datasets in real life are much more complex.

Getting Started with Audio Data Analysis (Voice) using Deep Learning 


Genau so sieht's aus!
Immer schön dran denken, dann bleibt die Verzweiflung in der Ferne.

............................................................................................................................................................

Congratulations, you have installed Jupyter Notebook! To run the notebook, run the following command at the Terminal (Mac/Linux) or Command Prompt (Windows):
jupyter notebook
See Running the Notebook for more details.

Project Jupyter | Installing the Jupyter Software


..............................................................................................................................................................

Sage und schreibe 8 Stunden hat mich gestern das Vorbereiten meines Arbeitsplatzes auf diesem Windows 10 - Rechner geskostet.
Ca. 3 Stunden für ein unerwartetes Update (auf meinem Linuxsystem dauern die Updates zur Zeit maximal ein paar wenige Minuten), mehr als 5 Stunden nach Anlegen eines neuen Benutzers mit Administrator-Rechten (hat sich einfach aufgehangen, iwan habe ich mich getraut, einfach trotz Warnmeldungen neu zu starten, dann ging's auf einmal).
Mamma mia! Dafür daß Windows kein Opensource-System ist, hat's da unangemessen viele Sicherheitslücken & Umständlichkeiten bei den Behebungen derselben bzw. den anderen Update-Tasks ... uff!

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Und hier komme ich leider auch noch auf keinen grünen Zweig:

Python 3.7.4 (tags/v3.7.4:e09359112e, Jul  8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import IPython.display as ipd
>>> ipd.Audio('../data/Train/2022.wav')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\Thorsten\AppData\Local\Programs\Python\Python37\lib\site-packages\IPython\lib\display.py", line 114, in __init__
    raise ValueError("rate must be specified when data is a numpy array or list of audio samples.")
ValueError: rate must be specified when data is a numpy array or list of audio samples.
>>> data, sampling_rate = librosa.load('../data/Train/2022.wav')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'librosa' is not defined
>>>

https://www.analyticsvidhya.com/blog/2017/08/audio-voice-processing-deep-learning/


Klappt weder im Juypter-Notebook noch direkt in der Shell. Werde vermutlich zuhause auf meinem Linux-System erst weiterüben können.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Oh, anscheinend müsste ich mich hier nicht nur einloggen, sondern auch noch registrieren - nach dem Login mit  Google:
https://datahack.analyticsvidhya.com/contest/practice-problem-urban-sound-classification/#data_dictionary

Mal schau'n. Geht's nicht erstmal anders??

https://gist.github.com/netskink/f1a305215d6a3454e9b6a77a5241b94a#file-demo1-py

???
Fühle mich jetzt erstmal ziemlich aufgeschmissen. Kein Plan.

Ah, jetzt geht's! Nach dem Registrieren kann ich zwei Datasets herunterladen. Zwei! 2GB und 3GB groß!!! Welches brauche ich dann?????
Aber ich will nicht dumm herummeckern. Wer DataScience betreiben will, sollte schon eine gewisse Grundcleverness besitzen und zurechtkommen können mit spärlichen (aber vermutlich ausreichenden) Angaben in Anleitungen ...
So, dumm-dumm, klar, train steht nicht für Zug, sondern für das Trainieren der Modelle beim DeepLearning ... hätte ich gleich drauf kommen könnmüssen - hit/beat me!

Trotzdem funzt hier am Rechner immer noch iwi alles nicht. Ich werde wohl zuhause mit meinem bewährten Linux weiterarbeiten müssen. Jetzt ist der Kernel des Jupyter-Notebooks nicht mehr korrekt gesetzt - super!

Umgebungsvariable geändert, pip uninstall jupyterlab, pip install jupyterlab ... mal schau'n, ob's dann funzt. Windows, grrrrr ....

"Kernel error" - nochmal grrrrr....

Und außerhalb des Jupyter-Notebooks:

Python 3.7.4 (tags/v3.7.4:e09359112e, Jul  8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> data, sampling_rate = librosa.load('C:/Users/Thorsten/Downloads/train/Train/2022.wav')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'librosa' is not defined
>>>

Ah! Ein Mini-Fortschritt!


>>> import IPython.display as ipd
>>> ipd.Audio('C:/Users/Thorsten/Downloads/train/Train/2022.wav')
<IPython.lib.display.Audio object>
>>> data, sampling_rate = librosa.load('C:/Users/Thorsten/Downloads/train/Train/2022.wav')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'librosa' is not defined


>>> import audioread
>>> audioread.audio_open('C:/Users/Thorsten/Downloads/train/Train/2022.wav')
<audioread.rawread.RawAudioFile object at 0x000001808A4436C8>

https://github.com/librosa/librosa/issues/536

Ich werde noch nicht schlau draus, aber es scheinen sich die Hinweise zu verdichten, daß es iwas mit dem Windows 10 zu tun hat. Schade.



Bei Windows weiß ich nie, wann Backslash, wann einfach Backslash . . . zwar meine Doofheit, aber Windows ist trotzdem auch doof - hoch zwei, also doooof!

Und es bleibt doof, auch wenn ich Tomaten auf den Augen habe, NameError!



help> librosa
problem in librosa - ImportError: DLL load failed: Das angegebene Modul wurde nicht gefunden.


>>> import librosa
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\Thorsten\AppData\Local\Programs\Python\Python37\lib\site-packages\librosa\__init__.py", line 13, in <module>
    from . import core
  File "C:\Users\Thorsten\AppData\Local\Programs\Python\Python37\lib\site-packages\librosa\core\__init__.py", line 114, in <module>
    from .time_frequency import *  # pylint: disable=wildcard-import
  File "C:\Users\Thorsten\AppData\Local\Programs\Python\Python37\lib\site-packages\librosa\core\time_frequency.py", line 10, in <module>
    from ..util.exceptions import ParameterError
  File "C:\Users\Thorsten\AppData\Local\Programs\Python\Python37\lib\site-packages\librosa\util\__init__.py", line 68, in <module>
    from .utils import *  # pylint: disable=wildcard-import
  File "C:\Users\Thorsten\AppData\Local\Programs\Python\Python37\lib\site-packages\librosa\util\utils.py", line 6, in <module>
    import scipy.sparse
  File "C:\Users\Thorsten\AppData\Local\Programs\Python\Python37\lib\site-packages\scipy\sparse\__init__.py", line 230, in <module>
    from .csr import *
  File "C:\Users\Thorsten\AppData\Local\Programs\Python\Python37\lib\site-packages\scipy\sparse\csr.py", line 13, in <module>
    from ._sparsetools import (csr_tocsc, csr_tobsr, csr_count_blocks,
ImportError: DLL load failed: Das angegebene Modul wurde nicht gefunden.
>>> librosa.util.example_audio_file()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'librosa' is not defined


Das ist mir jetzt alles zu blöd. Ich deinstalliere alles wieder und versuche es mit Anaconda:

https://www.anaconda.com/distribution/



.....................................................................................................................................................

Endlich!

Die Ansicht zu PDF gedruckt, und beim Upload schon wieder eine Windoofs-Fehlermeldung: Die Datei wird verwendet. Super, Windows!
Ja, und es geht noch weiter: Das PDF-Format des Windows-PDF-Druckers wird von Cloud-Convert nicht anerkannt, sprich: keine Konvertierung auf Bildformat möglich. Super, Windows!


Es ist doch echt ein einziger Witz. Das Snipping-Tool funzt zur Zeit nicht richtig, weil es "für ein zukünftiges Update verschoben" ist. Dieses Windows ist ein Bruchpiloten-System, jetzt merke ich mal wieder deutlich, wie verwöhnt ich durch mein gutes Ubuntu-Linux bin. Lustig, daß das halb außer Gefecht gesetzte Snipping-Tool die Fehlermeldung gleich mit gescreenshottet hat - ging gar nicht ohne, aber nett, daß ich es nicht extra beweisen musste, sondern daß es mir die Arbeit gleich abgenommen hat ;-) .

Ansonsten klapperte nun (fast) alles. "import librosa.display" muss mittlerweile separat erfolgen, wie mir dieser Artikel verriet: https://github.com/librosa/librosa/issues/526

Eine andere Wav-Datei:


Jetzt muss ich mich erstmal (wieder) erholen von den Schrecken.


Für diese Anleitung bin ich zwar sehr dankbar, https://www.analyticsvidhya.com/blog/2017/08/audio-voice-processing-deep-learning/, aber auch hier gibt's leider störende Lücken (jedenfalls empfinde ich als Anfänger diese als störend):

i = random.choice(train.index)

audio_name = train.ID[i]
path = os.path.join(data_dir, 'Train', str(audio_name) + '.wav')

print('Class: ', train.Class[i])
x, sr = librosa.load('../data/Train/' + str(train.ID[i]) + '.wav')

plt.figure(figsize=(12, 4))
librosa.display.waveplot(x, sr=sr)

Diesen Code kann ich nicht einfach ausführen, ich muss mich jetzt erst schlau machen, wie ich die train.csv Datei in ein Format kriege, wo ich train.index, train.ID[i] und train.Class[i] drauf anwenden kann. Naja, immerhin lerne ich dabei ja, von daher halb so wild.

Mühsam nährt sich das Eichhörnchen, das Arme.


Bessere Lösung gefunden. Ach, ja ... hier ist wieder Kreativität gefragt, weiter unten im Text war etwas, dem ich etwas als Hinweis entnehmen konnte (iwi so iwi):


Dies ist der richtige Zauber:
train = pd.read_csv("C:/Users/Thorsten/Downloads/train/train.csv")

Noch ein Fehler. Den Pfad habe ich auskommentiert, macht an der Stelle ja gar keinen Sinn:


Soviele Fehler habe ich mir früher bei meinem cholerischen Chef nicht erlauben dürfen, der wäre spätestens bei Nummer 3 in Folge wie ein HB-Männchen unter der Decke nur noch durch Abkratzen zu entfernen gewesen.
Die Verfasser von Artikeln, Tutorials, Bedienungsanleitungen sind öfters ziemlich hemdsärmelig-locker unterwegs - die müssen ja nicht draus schlau werden, die wissen ja, was sie meinen. Aber an dieser Stelle möchte ich mich nicht beschweren, klar.






Kommentare

Beliebte Posts aus diesem Blog

·

Es brennt.

Bye, bye Nord Stream 2!