R auf dem Raspberry Pi installieren

Interessantes ohne bestimmtes Thema!

Moderator: student

bigben
Beiträge: 2781
Registriert: Mi Okt 12, 2016 9:09 am

Re: R auf dem Raspberry Pi installieren

Beitrag von bigben »

Ich weiß ja nicht, ob Ihr es schon wusstet, ...

auch bei Google hat man über den Pi zur Datenanlyse nachgedacht und verkauft jetzt den Coral USB Accelerator, eine TPU für den RaspiPi. Die nehmen das ernst:
The Coral USB Accelerator adds an Edge TPU coprocessor to your system, enabling high-speed machine learning inferencing on a wide range of systems, simply by connecting it to a USB port.

Performs high-speed ML inferencing
The on-board Edge TPU coprocessor is capable of performing 4 trillion operations (tera-operations) per second (TOPS), using 0.5 watts for each TOPS (2 TOPS per watt).
No need to build models from the ground up. TensorFlow Lite models can be compiled to run on the Edge TPU.
Überholt der Raspi dann meinen Laptop? Sollte ich mir so ein USB-Teil für mein Laptop holen? Der Verkaufspreis in D liegt derzeit um hundert Euro.

Oder überspringt man gleich de Pi, wenn der Asus Tinker Edge T den Einplatinencomputer mit der Google TPU fest verbaut für 170 EUR liefert https://www.voelkner.de/index.php?mp=pr ... el=C157982

Weihnachtliche Grüße,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Benutzeravatar
student
Beiträge: 675
Registriert: Fr Okt 07, 2016 9:52 am

Re: R auf dem Raspberry Pi installieren

Beitrag von student »

Hallo Bernhard,

von dem Coral USB Accelerator habe ich schon gehört und gelesen. Auch von Raspberry-Alternativen mit TPUs und gerne würde ich mit allen experimentieren. Aber die Zeit....! ;)

Das Endziel meiner Raspberry-Reise ist ein beispielhafter ML-Einsatz auf dem Pi, aber vorher wird erstmal den Pi 5 angeschafft.

Aber zurück Asus Tinker Edge T und ähnlichen Systemen. Ich denke, die Systeme sind sicher gut geeignet und möglicherweise unter dem Strich wirtschaftlicher. Was m. E. für den Pi spricht, ist die Verbreitung. Du bekommst "an jeder Ecke" ein Paket oder Code-Schnipsel, das weiterhilft. Ich hatte mal Experimente mit den Jetson Nano gemacht und mich über manche Umwege aufgeregt. Dagegen war mein Einstieg in den Pi 4 ein Spaziergang. Kommerziell wird der Pi auch immer häufiger eingesetzt...

Vielleicht ist der Pi eine Art Standardsystem und bessere Systeme werden durch die "Anwendungsmasse" verdrängt?
Viele Grüße,
Student
-----------------------------------------------------------------------------------------------------------------------
faes.de, Datenanalyse mit R & das Ad-Oculos-Projekt
Das Ad-Oculos-Projekt auf YouTube

Habe Mut, dich deines eigenen Verstandes zu bedienen! (Kant)
Athomas
Beiträge: 769
Registriert: Mo Feb 26, 2018 8:19 pm

Re: R auf dem Raspberry Pi installieren

Beitrag von Athomas »

Ich habe heute einen Raspberry Pi 5 bekommen und den RStudio Server darauf installiert.

Als Betriebssystem hätte ich gerne Ubuntu 22.04 LTS verwendet, das gibt es aber nicht für diesen Pi - zumindest nicht ohne größere Klimmzüge :x !
Die Version 23.10 gibt es, die wollte ich aber nicht, da kein LTS. Ende April kommt wohl 24.04 LTS, dann werde ich wieder aktiv...

So habe ich das Ganze mit dem aktuellen Raspberry Pi OS durchgezogen und mal meinen "Benchmark für Doofe" rechnen lassen.
Dabei wird eine (5000 x 5000)-Matrix invertiert und die Eigenvektoren und -werte berechet (numerisch zweifelhaft, aber viel Rechnerei mit wenig Schreibarbeit :D ):

Code: Alles auswählen

> sessionInfo()
R version 4.3.2 (2023-10-31)
Platform: aarch64-unknown-linux-gnu (64-bit)
Running under: Debian GNU/Linux 12 (bookworm)

Matrix products: default
BLAS:   /usr/lib/aarch64-linux-gnu/openblas-pthread/libblas.so.3 
LAPACK: /usr/lib/aarch64-linux-gnu/openblas-pthread/libopenblasp-r0.3.21.so;  LAPACK version 3.11.0
... 
> 
> n   <- 5000
> Mat <- matrix(runif(n*n), nrow=n)
> system.time(Erg <- solve(Mat))
       User      System verstrichen 
     46.166       0.838      12.369 
> range(Erg %*% Mat - diag(n))
[1] -7.929352e-12  7.493284e-12
> system.time(Eigen <- eigen(Mat))
       User      System verstrichen 
    545.518      54.153     158.685 
Lasst das zum Vergleich mal auf eurem PC laufen, Ihr werdet staunen! Der Vergleich ist natürlich dann unfair, wenn Ihr nicht die openBLAS installiert habt - vielleicht holt das ja der ein oder andere nach...

Code: Alles auswählen

sessionInfo()

n   <- 5000
Mat <- matrix(runif(n*n), nrow=n)
system.time(Erg <- solve(Mat))
range(Erg %*% Mat - diag(n))

system.time(Eigen <- eigen(Mat))
Schreibt bitte mal rein, was euer Rechner (mit welchem Prozessor) gebraucht hat!
Benutzeravatar
student
Beiträge: 675
Registriert: Fr Okt 07, 2016 9:52 am

Re: R auf dem Raspberry Pi installieren

Beitrag von student »

Hallo Athomas,

ich bin beeindruckt! :)

Ich habe das nebenbei mal auf meinen "neuen" Asus Zenbook laufen lassen:
R version 4.3.2 (2023-10-31 ucrt)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 11 x64 (build 22631)

Matrix products: default


locale:
[1] LC_COLLATE=German_Germany.utf8 LC_CTYPE=German_Germany.utf8 LC_MONETARY=German_Germany.utf8
[4] LC_NUMERIC=C LC_TIME=German_Germany.utf8

time zone: Europe/Berlin
tzcode source: internal

attached base packages:
[1] stats graphics grDevices utils datasets methods base

loaded via a namespace (and not attached):
[1] compiler_4.3.2 tools_4.3.2
>
> n <- 5000
> Mat <- matrix(runif(n*n), nrow=n)
> system.time(Erg <- solve(Mat))
User System verstrichen
83.12 0.12 123.16
> range(Erg %*% Mat - diag(n))
[1] -7.355224e-12 7.278823e-12
>
> system.time(Eigen <- eigen(Mat))
User System verstrichen
224.17 0.59 443.91
Das ist der Pi5 ja ein richtiger Bolide!
Viele Grüße,
Student
-----------------------------------------------------------------------------------------------------------------------
faes.de, Datenanalyse mit R & das Ad-Oculos-Projekt
Das Ad-Oculos-Projekt auf YouTube

Habe Mut, dich deines eigenen Verstandes zu bedienen! (Kant)
schubbiaschwilli
Beiträge: 253
Registriert: Di Jun 27, 2017 12:09 pm

Re: R auf dem Raspberry Pi installieren

Beitrag von schubbiaschwilli »

Gude!

Hab's mal auf meinem ASUS UX32L - so 10 Jahre alt - laufen lassen:
Operating System
Windows 10 Pro 64-bit
CPU
Intel Core i5 4200U @ 1.60GHz 50 °C
Haswell ULT 22nm Technology
RAM
12,0GB Dual-Channel DDR3 @ 798MHz (11-11-11-28)
Motherboard
ASUSTeK COMPUTER INC. UX32LA (SOCKET 0)
Graphics
Generic PnP Monitor (1366x768@60Hz)
Intel HD Graphics Family (ASUStek Computer Inc)
> sessionInfo()
R version 4.1.3 (2022-03-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 19045)

Matrix products: default

locale:
[1] LC_COLLATE=German_Germany.1252 LC_CTYPE=German_Germany.1252 LC_MONETARY=German_Germany.1252
[4] LC_NUMERIC=C LC_TIME=German_Germany.1252

attached base packages:
[1] stats graphics grDevices utils datasets methods base

loaded via a namespace (and not attached):
[1] compiler_4.1.3 fastmap_1.1.1 cli_3.4.1 htmltools_0.5.5 tools_4.1.3 rstudioapi_0.14
[7] yaml_2.3.7 rmarkdown_2.21 knitr_1.43 xfun_0.39 digest_0.6.31 rlang_1.1.1
[13] evaluate_0.21
>
> n <- 5000
> Mat <- matrix(runif(n*n), nrow=n)
> system.time(Erg <- solve(Mat))
User System verstrichen
172.87 0.14 174.39
> range(Erg %*% Mat - diag(n))
[1] -3.882242e-12 4.262486e-12
>
> system.time(Eigen <- eigen(Mat))
User System verstrichen
684.29 0.31 685.47
bigben
Beiträge: 2781
Registriert: Mi Okt 12, 2016 9:09 am

Re: R auf dem Raspberry Pi installieren

Beitrag von bigben »

Lenovo Ideapad Flex 5i mit Windows 11, 12th Gen Intel(R) Core(TM) i7-1255U 1.70 GHz, 16 GB RAM, Chrome und RStudio im Hintergrund laufend. R version 4.2.2 (2022-10-31 ucrt); Platform: x86_64-w64-mingw32/x64 (64-bit)

Code: Alles auswählen

> n   <- 5000
> Mat <- matrix(runif(n*n), nrow=n)
> system.time(Erg <- solve(Mat))
   user  system elapsed 
  33.81    0.08   83.66 
> range(Erg %*% Mat - diag(n))
[1] -4.782182e-12  5.241273e-12
> 
> system.time(Eigen <- eigen(Mat))
   user  system elapsed 
 198.05    0.33  349.88 
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
schubbiaschwilli
Beiträge: 253
Registriert: Di Jun 27, 2017 12:09 pm

Re: R auf dem Raspberry Pi installieren

Beitrag von schubbiaschwilli »

Nur mal so, da ich mich notgedrungen mit CPU-Leistung beschäftigen musste, und dann gelernt habe, dass es bei der Kombination von Win und R nur um die Leistung des einzelnen Kerns geht, die Performance aber meist mit allen Kernen gemessen wird (Single Thread Rating vs. Average CPU Mark rating):

Mein 10 Jahre alter Laptop mit
https://www.cpubenchmark.net/cpu.php?cp ... Hz&id=1947
Average CPU Mark rating 2189
Single Thread Rating: 1291

Gegen bigbens Laptop - wie alt ist der, 1-2 Jahre? - mit
https://www.cpubenchmark.net/cpu.php?cp ... 5U&id=4794
Average CPU Mark rating 13779
Single Thread Rating: 3305

Vergleicht man beide ist der Faktor des Average CPU Mark rating 6,29..., beim Single Thread Rating 2,56...
bigben
Beiträge: 2781
Registriert: Mi Okt 12, 2016 9:09 am

Re: R auf dem Raspberry Pi installieren

Beitrag von bigben »

Ich kenne mich mit CPUs und mit Benchmarking nicht aus. Dass bei R immer nur die single-core Performance zählt leuchtet mir aber nicht ein. Wenn ich data.table starte sagt es mir ungefragt, wieviele Kerne es zu verwenden gedenkt. Wenn ich rstanarm starte sagt es mir als erstes, wie ich es auf multicore-Betrieb umstelle. Es gibt Pakete mit for-Schleifen, apply und replicate Varianten die meinen eigenen Code leicht parallelisieren und caret macht Kreuzvalidierung im Parallelbetrieb.

Ob und wie man die Benchmark von Athomas hätte parallelisieren können, weiß ich nicht, aber vieles läuft ohne Mehraufwand einfach parallel.

Damit will ich Dir nicht widersprechen, dass wir die gesteigerte Leistungsfähigkeit unserer Hardware für Unsinn nutzen statt fürs rechnen. Was mich derzeit total nervt ist das Paket gtsummary. Für mich total nützliches Paket, aber die verbrauchte Rechenzeit kann gefühlt nicht nötig sein...

LG, Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Athomas
Beiträge: 769
Registriert: Mo Feb 26, 2018 8:19 pm

Re: R auf dem Raspberry Pi installieren

Beitrag von Athomas »

Der Vergleich ist natürlich dann unfair, wenn Ihr nicht die openBLAS installiert habt - vielleicht holt das ja der ein oder andere nach...
Um mich mal selbst zu zitieren - die gute Performance des Raspi bei diesen Matrixberechnungen ergibt sich natürlich zu einem großen Teil aus der Parallelverarbeitung der verwendeten openBLAS-pthread!
schubbiaschwilli
Beiträge: 253
Registriert: Di Jun 27, 2017 12:09 pm

Re: R auf dem Raspberry Pi installieren

Beitrag von schubbiaschwilli »

Mein HP 840 G3 Elitebook

https://www.cpubenchmark.net/cpu.php?cp ... Hz&id=2609
Average CPU Mark rating: 3240
Single Thread Rating: 1667

Code: Alles auswählen

> sessionInfo()
R version 4.2.2 (2022-10-31 ucrt)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 19045)

Matrix products: default

locale:
[1] LC_COLLATE=German_Germany.utf8  LC_CTYPE=German_Germany.utf8    LC_MONETARY=German_Germany.utf8
[4] LC_NUMERIC=C                    LC_TIME=German_Germany.utf8    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
[1] compiler_4.2.2 tools_4.2.2   
> 
> n   <- 5000
> Mat <- matrix(runif(n*n), nrow=n)
> system.time(Erg <- solve(Mat))
       User      System verstrichen 
     120.59        0.25      121.99 
> range(Erg %*% Mat - diag(n))
[1] -5.447871e-11  5.983389e-11
> 
> system.time(Eigen <- eigen(Mat))
       User      System verstrichen 
     650.96        0.50      653.37 
Antworten