TFS HA Solar Forecat ML 8 Head Transformer KI (App-Version)

Noch ein weiterer Hinweis zum Ressourcenbedarf:

TFS basiert auf einer vollwertigen Transformer-Architektur, also auf derselben Grundidee, die auch hinter Modellen wie ChatGPT, Claude oder Grok steckt. Der Unterschied ist natürlich: TFS schreibt keine Texte und keine Gedichte, sondern ist ausschließlich auf Solar- und Energieprognosen spezialisiert.

Durch das von mir durchgeführte Pre-Training ist TFS bereits kaltstartfähig.

Das bedeutet: Das Modell braucht nicht erst eine große Menge lokaler Anlagendaten, um grundsätzlich arbeiten zu können. Es ist also nicht problematisch, wenn anfangs erst wenige SFML-Samples vorhanden sind.

Wichtig ist nur:
Wenn die SFML-Datenbank komplett leer ist, bleibt TFS zunächst inaktiv und startet erst, sobald mindestens 10 Samples vorhanden sind.

Beim ersten Start benötigt TFS etwas mehr Ressourcen, weil sich das System zunächst auf die vorhandene Anlage einstellt. Dabei werden die von SFML bereitgestellten Anlagendaten mit dem bereits vortrainierten Modellwissen abgeglichen und für die lokale Laufzeit angepasst.

Das passiert aber nur zu Beginn bzw. nach einer relevanten Anpassung.
Danach bleibt TFS im normalen Betrieb sehr ruhig im Speicher, rechnet nur bei Bedarf und verursacht im Leerlauf praktisch keine CPU-Last.
Die CPU geht dann nahezu auf null zurück, und der RAM-Bedarf liegt bei den empfohlenen 8 GB Gesamtspeicher typischerweise bei ungefähr 5 %.

TFS ist nun praktisch im Leerlauf - sind die letzten Zeilen vom Log, bzw. der finale fine tune Prozess so Ok, korrekt abgeschlossen?

INFO:     Application startup complete.
INFO:     Uvicorn running on http://0.0.0.0:8780 (Press CTRL+C to quit)
2026-04-23T15:16:20.777089Z [info     ] finetune_dataset_building      actuals_count=1090 degradation_count=1464 groups=3 max_samples=200 step_hours=6 weather_count=1105
2026-04-23T15:16:51.446997Z [info     ] finetune_dataset_progress      offset=10/200 samples=10
2026-04-23T15:26:32.442800Z [info     ] finetune_dataset_complete      total_samples=11 valid_ratio=11/200
2026-04-23T15:26:32.443455Z [info     ] finetune_dataset_ready         samples=11
2026-04-23T15:26:32.443545Z [warning  ] finetune_skip_too_few_samples  samples=11

P.S. Offensichtlich ja, schaut für mich nun gut aus:

2026-04-23T15:34:52.567328Z [info     ] weather_fetch_complete         hours=72 sources=['open_meteo', 'brightsky']
2026-04-23T15:34:54.911934Z [info     ] forecast_complete              groups=3 horizon=72h lora=missing_refinetune_pending p10=142.3kWh p50=154.5kWh p90=166.8kWh

Wie war das noch: “überall, wo ein Schalter ist …”

Müssen da noch unsere Standortdaten ergänzt werden?

Und ist “forecast-time” korrekt?

Offensichtlich nicht, weil die Länge und Breitengrad finden sich im Log…bei runtime_context_resolved…

Danke für die freundliche Antwort :wink:

Ich schau dann mal.

Das war aber ein freundlich gemeintes „Offensichtlich“ - das böse gemeinte wäre „OFFENSICHTLICH“ gewesen :joy::wink:

1 „Gefällt mir“

Das stimmt nicht. Eine nicht angemessene Rückmeldung erfolgte nach dem zweiten Versuch. Aber vergiss es einfach. Wer mit mehreren Ausrufezeichen und fetter Großschrift schreibt….

@Tom-HA

Update auf V 22.6.0 war erfolgreich, Finetuning läuft. Danke. :+1:

1 „Gefällt mir“

Genau deshalb, weil Du Deinen /OT/-Beitrag nach dem Löschen erneut gepostet hat (s. meine PN)!
Aber ja, wir lassen es einfach…

Hmm bei mir sieht das irgendwie so aus als würde er hängen, seit 10 Minuten keine Änderung im Log (Browser natürlich schon refresh gemacht)

INFO:     Application startup complete.
INFO:     Uvicorn running on http://0.0.0.0:8780 (Press CTRL+C to quit)
2026-04-23T15:50:27.703001Z [info     ] finetune_dataset_building      actuals_count=1097 degradation_count=1464 groups=1 max_samples=200 step_hours=6 weather_count=1139

Ich bekommen auf meinem RasPi 5 folgende Fehlermeldung:

ImportError: /app/pyarmor_runtime_009810/pyarmor_runtime.so: cannot open shared object file: No such file or directory
Encrypted base model found, but no model key is configured.
Expected key file: /config/toorox_foresight_ha/model-key.b64
Traceback (most recent call last):
  File "<stdin>", line 4, in <module>
  File "/app/toorox_foresight/security/__init__.py", line 2, in <module>
    from pyarmor_runtime_009810 import __pyarmor__
  File "/app/pyarmor_runtime_009810/__init__.py", line 2, in <module>
    from .pyarmor_runtime import __pyarmor__

was könnte das sein, @Tom-HA ?

App vorher Deinstalliert gehabt, roter Neustart geschehen.

P.S. auf dem x86-64 lief es sauber durch und ist jetzt fleißig am Finetunen :grin:

Bitte Browser Reload… oder einfach Zeit geben..

Hallo @Johnny_1993

läuft auf deinem PI die aktuelle HA Version? könntest Du das bitte mal schnell überprüfen..

Bin ein Schritt weiter, scheint ein Architekturen-Problem zu sein, Key vom anderen System übernommen, bekomme ich jetzt folgendes:

Traceback (most recent call last):
  File "/app/scripts/serve.py", line 27, in <module>
    sys.exit(main())
             ^^^^^^
  File "/app/scripts/serve.py", line 15, in main
    uvicorn.run(
  File "/usr/local/lib/python3.12/site-packages/uvicorn/main.py", line 579, in run
    server.run()
  File "/usr/local/lib/python3.12/site-packages/uvicorn/server.py", line 66, in run
    return asyncio.run(self.serve(sockets=sockets))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/asyncio/runners.py", line 195, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "uvloop/loop.pyx", line 1518, in uvloop.loop.Loop.run_until_complete
  File "/usr/local/lib/python3.12/site-packages/uvicorn/server.py", line 70, in serve
    await self._serve(sockets)
  File "/usr/local/lib/python3.12/site-packages/uvicorn/server.py", line 77, in _serve
    config.load()
  File "/usr/local/lib/python3.12/site-packages/uvicorn/config.py", line 435, in load
    self.loaded_app = import_from_string(self.app)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/uvicorn/importer.py", line 19, in import_from_string
    module = importlib.import_module(module_str)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/importlib/__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 999, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/app/toorox_foresight/api/server.py", line 18, in <module>
    from ..data.sfml_reader import SFMLReader
  File "/app/toorox_foresight/data/sfml_reader.py", line 2, in <module>
    from pyarmor_runtime_009810 import __pyarmor__
  File "/app/pyarmor_runtime_009810/__init__.py", line 2, in <module>
    from .pyarmor_runtime import __pyarmor__
ImportError: /app/pyarmor_runtime_009810/pyarmor_runtime.so: cannot open shared object file: No such file or directory

@Johnny_1993

Alles klar… ich sehe das Problem! ARM kommt nicht mit der Runtime zurecht… (irgendetwas ist ja immer mit den kleinen Schwerenötern) ..

Ich baue morgen ein vorkompiliertes Update.. heute schaffe ich es nicht mehr..

1 „Gefällt mir“

Passt. Dann spiele ich mal noch Backup ein, das geht dann wieder.

Schreibst du noch einen kurzen Hinweis in die Release Notes?

1 „Gefällt mir“

Jetzt hat er irgendwie was gemacht, passt das so?

2026-04-23T15:50:27.703001Z [info     ] finetune_dataset_building      actuals_count=1097 degradation_count=1464 groups=1 max_samples=200 step_hours=6 weather_count=1139
2026-04-23T16:08:54.370525Z [info     ] finetune_dataset_complete      total_samples=0 valid_ratio=0/200
2026-04-23T16:08:54.371523Z [info     ] finetune_dataset_ready         samples=0
2026-04-23T16:08:54.371742Z [warning  ] finetune_skip_too_few_samples  samples=0

Ist das jetzt durch und okay so?

1 „Gefällt mir“

@Tom-HA , wie sieht‘s hiermit aus?

@Joachim-xo

ja alles korrekt

@lemuba ? Was meinst Du?