Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RISC-V Hardware Platform Validation #208

Closed
antoinecarme opened this issue Aug 30, 2022 · 13 comments
Closed

RISC-V Hardware Platform Validation #208

antoinecarme opened this issue Aug 30, 2022 · 13 comments

Comments

@antoinecarme
Copy link
Owner

New Hardware Architecture : RISC-V

This is a very experimental platform. PyAF intends to work on a not-yet-fully-manufactured hardware (#176 ).

The Sifive dev board (VisionFive 2) is planned through a kickstart project :

https://www.kickstarter.com/projects/starfive/visionfive-2/

Availablity : Dec. 2022

CPU features :

image

@antoinecarme
Copy link
Owner Author

antoinecarme commented Jan 9, 2023

Hardware info


antoine@pyafriscv:~/dev/python/packages/timeseries/pyaf$ cat /etc/debian_version 
bookworm/sid

antoine@pyafriscv:~$ cat /proc/cpuinfo 
processor	: 0
hart		: 1
isa		: rv64imafdc
mmu		: sv39
uarch		: sifive,u74-mc

processor	: 1
hart		: 2
isa		: rv64imafdc
mmu		: sv39
uarch		: sifive,u74-mc

processor	: 2
hart		: 3
isa		: rv64imafdc
mmu		: sv39
uarch		: sifive,u74-mc

processor	: 3
hart		: 4
isa		: rv64imafdc
mmu		: sv39
uarch		: sifive,u74-mc

@antoinecarme
Copy link
Owner Author

Memory

antoine@pyafriscv:~$ free
               total        used        free      shared  buff/cache   available
Mem:         8118100      203444     7855340        3172      139944     7914656
Swap:              0           0           0

@antoinecarme
Copy link
Owner Author

dmesg

[    0.000000] Linux version 5.15.0-starfive (sw_buildbot@mdcsw02) (riscv64-unknown-linux-gnu-gcc (GCC) 10.2.0, GNU ld (GNU Binutils) 2.35) #1 SMP Wed Dec 21 0
3:56:12 EST 2022
[    0.000000] OF: fdt: Ignoring memory range 0x40000000 - 0x40200000
[    0.000000] Machine model: StarFive VisionFive V2
[    0.000000] earlycon: uart0 at MMIO32 0x0000000010000000 (options '115200')
[    0.000000] printk: bootconsole [uart0] enabled
[    0.000000] efi: UEFI not found.
[    0.000000] Reserved memory: created CMA memory pool at 0x0000000080000000, size 512 MiB
[    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[    0.000000] Zone ranges:
[    0.000000]   DMA32    [mem 0x0000000040200000-0x00000000ffffffff]
[    0.000000]   Normal   [mem 0x0000000100000000-0x000000023fffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000040200000-0x00000000c010ffff]
[    0.000000]   node   0: [mem 0x00000000c0110000-0x00000000c01fffff]
[    0.000000]   node   0: [mem 0x00000000c0200000-0x000000023fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000040200000-0x000000023fffffff]
[    0.000000] SBI specification v0.3 detected
[    0.000000] SBI implementation ID=0x1 Version=0x10000
[    0.000000] SBI TIME extension detected
[    0.000000] SBI IPI extension detected
[    0.000000] SBI RFENCE extension detected
[    0.000000] SBI v0.2 HSM extension detected
[    0.000000] CPU with hartid=0 is not available
[    0.000000] CPU with hartid=0 is not available
[    0.000000] riscv: ISA extensions acdfim
[    0.000000] riscv: ELF capabilities acdfim
[    0.000000] percpu: Embedded 17 pages/cpu s31528 r8192 d29912 u69632
[    0.000000] pcpu-alloc: s31528 r8192 d29912 u69632 alloc=17*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 2067975
[    0.000000] Kernel command line: root=/dev/mmcblk1p3 root=/dev/mmcblk1p3 rw console=tty0 console=ttyS0,115200 earlycon rootwait stmmaceth=chain_mode:1 selin
ux=0
[    0.000000] Unknown command line parameters: stmmaceth=chain_mode:1 selinux=0
[    0.000000] Dentry cache hash table entries: 1048576 (order: 11, 8388608 bytes, linear)
[    0.000000] Inode-cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] software IO TLB: mapped [mem 0x00000000fbfff000-0x00000000fffff000] (64MB)
[    0.000000] Memory: 7582168K/8386560K available (9884K kernel code, 4982K rwdata, 4096K rodata, 2191K init, 401K bss, 280104K reserved, 524288K cma-reserved
)

@antoinecarme
Copy link
Owner Author

No error when running pyaf build tests

antoine@pyafriscv:~/dev/python/packages/timeseries/pyaf$ make -f tests/Makefile -j 4 build-test &> log.build &

antoine@pyafriscv:~/dev/python/packages/timeseries/pyaf$ grep Error log.build  
timeout 480 python3  tests/basic_checks/test_temporal_demo_hourly_D_H_ErrorMessage_3.py  >  logs/basic_checks_test_temporal_demo_hourly_D_H_ErrorMessage_3.log  2>&1
timeout 480 python3  tests/basic_checks/test_temporal_demo_hourly_D_H_ErrorMessage_2.py  >  logs/basic_checks_test_temporal_demo_hourly_D_H_ErrorMessage_2.log  2>&1
timeout 480 python3  tests/basic_checks/test_temporal_demo_hourly_D_H_ErrorMessage.py  >  logs/basic_checks_test_temporal_demo_hourly_D_H_ErrorMessage.log  2>&1
timeout 480 python3 scripts/num_diff.py  tests/references/basic_checks/test_temporal_demo_hourly_D_H_ErrorMessage_2.log logs/basic_checks_test_temporal_demo_hourly_D_H_ErrorMessage_2.log  >  logs/basic_checks_test_temporal_demo_hourly_D_H_ErrorMessage_2.log.diff
timeout 480 python3 scripts/num_diff.py  tests/references/basic_checks/test_temporal_demo_hourly_D_H_ErrorMessage_3.log logs/basic_checks_test_temporal_demo_hourly_D_H_ErrorMessage_3.log  >  logs/basic_checks_test_temporal_demo_hourly_D_H_ErrorMessage_3.log.diff
timeout 480 python3 scripts/num_diff.py  tests/references/basic_checks/test_temporal_demo_hourly_D_H_ErrorMessage.log logs/basic_checks_test_temporal_demo_hourly_D_H_ErrorMessage.log  >  logs/basic_checks_test_temporal_demo_hourly_D_H_ErrorMessage.log.diff
tail -10  logs/basic_checks_test_temporal_demo_hourly_D_H_ErrorMessage_2.log.diff 
tail -10  logs/basic_checks_test_temporal_demo_hourly_D_H_ErrorMessage.log.diff 
tail -10  logs/basic_checks_test_temporal_demo_hourly_D_H_ErrorMessage_3.log.diff 

@antoinecarme
Copy link
Owner Author

antoinecarme commented Jan 9, 2023

Pytorch debian packages for riscv are buggy for the moment.

Update : Pytorch is now working. See below

@antoinecarme
Copy link
Owner Author

lshw

root@pyafriscv:~# lshw
pyafriscv                   
    description: Computer
    product: StarFive VisionFive V2
    serial: VF7110A1-2247-D008E000-00000216
    width: 64 bits
    capabilities: smp
  *-core
       description: Motherboard
       physical id: 0
     *-cpu:0
          description: CPU
          product: cpu
          physical id: 1
          bus info: cpu@0
          size: 1500MHz
          capacity: 1500MHz
          width: 32 bits
          capabilities: cpufreq
        *-cache
             description: L1 Cache
             physical id: 0
             size: 8KiB
     *-cpu:1
          description: CPU
          product: cpu
          physical id: 2
          bus info: cpu@1
          size: 1500MHz
          capacity: 1500MHz
          width: 32 bits
          capabilities: cpufreq
        *-cache
             description: L1 Cache
             physical id: 0
             size: 32KiB
     *-cpu:2
          description: CPU
          product: cpu
          physical id: 3
          bus info: cpu@2
          size: 1500MHz
          capacity: 1500MHz
          width: 32 bits
          capabilities: cpufreq
        *-cache
             description: L1 Cache
             physical id: 0
             size: 32KiB
     *-cpu:3
          description: CPU
          product: cpu
          physical id: 4
          bus info: cpu@3
          size: 1500MHz
          capacity: 1500MHz
          width: 32 bits
          capabilities: cpufreq
        *-cache
             description: L1 Cache
             physical id: 0
             size: 32KiB
     *-cpu:4 DISABLED
          description: CPU
          product: cpu
          physical id: 5
          bus info: cpu@4
        *-cache
             description: L1 Cache
             physical id: 0
             size: 32KiB
     *-memory
          description: System memory
          physical id: 6
          size: 7927MiB
     *-pci
          description: PCI bridge
          product: XpressRich-AXI Ref Design
          vendor: PLDA
          physical id: 0
          bus info: pci@0000:00:00.0
          version: 02
          width: 64 bits
          clock: 33MHz
          capabilities: pci pciexpress msi pm normal_decode bus_master cap_list
          resources: memory:30000000-300fffff

@antoinecarme
Copy link
Owner Author

Pytorch debian packages : some dependencies are failing. workaround OK.

root@pyafriscv:~# dpkg -i --ignore-depends=python3  python3-skorch_0.9.0-3_all.deb python3-torch_1.12.1-1+b1_riscv64.deb
(Reading database ... 160617 files and directories currently installed.)
Preparing to unpack python3-skorch_0.9.0-3_all.deb ...
Unpacking python3-skorch (0.9.0-3) over (0.9.0-3) ...
Preparing to unpack python3-torch_1.12.1-1+b1_riscv64.deb ...
Unpacking python3-torch (1.12.1-1+b1) over (1.12.1-1+b1) ...
Setting up python3-torch (1.12.1-1+b1) ...
Setting up python3-skorch (0.9.0-3) ...

@antoinecarme
Copy link
Owner Author

Sample pytorch test script

antoine@pyafriscv:~/dev/python/packages/timeseries/pyaf$ python3 tests/pytorch/test_ozone_exogenous_MLPX_pytorch.py 
BUILD_PYTORCH_OR_KERAS_MODEL ('MLP', ('PyTorch',))
      Date  Exog2 Exog3 Exog4  Ozone       Time
0  1955-01      1    AQ   P_R    2.7 1955-01-01
1  1955-02      2    AR   P_R    2.0 1955-02-01
2  1955-03      3    AS   P_S    3.6 1955-03-01
3  1955-04      4    AT   P_U    5.0 1955-04-01
4  1955-05      5    AU   P_V    6.5 1955-05-01
/home/antoine/dev/python/packages/timeseries/pyaf/tests/pytorch/test_ozone_exogenous_gen.py:18: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
  df[lSignal] = df[b1.mSignalVar]
INFO:pyaf.timing:('OPERATION_START', ('SIGNAL_TRAINING', {'Signals': ['Ozone_MLP_PyTorch'], 'Transformations': [('Ozone_MLP_PyTorch', 'None', '_', 'T+S+R'), ('Ozone_MLP_PyTorch', 'None', 'Diff_', 'T+S+R'), ('Ozone_MLP_PyTorch', 'None', 'RelDiff_', 'T+S+R'), ('Ozone_MLP_PyTorch', 'None', 'CumSum_', 'T+S+R')], 'Cores': 4}))
INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'Ozone_MLP_PyTorch', 'Transformation': '_Ozone_MLP_PyTorch'}))
INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'Ozone_MLP_PyTorch', 'Transformation': 'Diff_Ozone_MLP_PyTorch'}))
INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'Ozone_MLP_PyTorch', 'Transformation': 'RelDiff_Ozone_MLP_PyTorch'}))
INFO:pyaf.timing:('OPERATION_START', ('TRAINING', {'Signal': 'Ozone_MLP_PyTorch', 'Transformation': 'CumSum_Ozone_MLP_PyTorch'}))
Error in cpuinfo: processor architecture is not supported in cpuinfo
Error in cpuinfo: processor architecture is not supported in cpuinfo
Error in cpuinfo: processor architecture is not supported in cpuinfo
Error in cpuinfo: processor architecture is not supported in cpuinfo
/usr/lib/python3/dist-packages/_distutils_hack/__init__.py:33: UserWarning: Setuptools is replacing distutils.
  warnings.warn("Setuptools is replacing distutils.")
INFO:pyaf.timing:('OPERATION_END_ELAPSED', 37.613, ('TRAINING', {'Signal': 'Ozone_MLP_PyTorch', 'Transformation': 'CumSum_Ozone_MLP_PyTorch'}))
/usr/lib/python3/dist-packages/_distutils_hack/__init__.py:33: UserWarning: Setuptools is replacing distutils.
  warnings.warn("Setuptools is replacing distutils.")
/usr/lib/python3/dist-packages/_distutils_hack/__init__.py:33: UserWarning: Setuptools is replacing distutils.
  warnings.warn("Setuptools is replacing distutils.")
/usr/lib/python3/dist-packages/_distutils_hack/__init__.py:33: UserWarning: Setuptools is replacing distutils.
  warnings.warn("Setuptools is replacing distutils.")
INFO:pyaf.timing:('OPERATION_END_ELAPSED', 40.86, ('TRAINING', {'Signal': 'Ozone_MLP_PyTorch', 'Transformation': '_Ozone_MLP_PyTorch'}))
INFO:pyaf.timing:('OPERATION_END_ELAPSED', 42.627, ('TRAINING', {'Signal': 'Ozone_MLP_PyTorch', 'Transformation': 'RelDiff_Ozone_MLP_PyTorch'}))
INFO:pyaf.timing:('OPERATION_END_ELAPSED', 43.642, ('TRAINING', {'Signal': 'Ozone_MLP_PyTorch', 'Transformation': 'Diff_Ozone_MLP_PyTorch'}))
INFO:pyaf.timing:('OPERATION_END_ELAPSED', 75.981, ('SIGNAL_TRAINING', {'Signals': ['Ozone_MLP_PyTorch'], 'Transformations': [('Ozone_MLP_PyTorch', 'None', '_', 'T+S+R'), ('Ozone_MLP_PyTorch', 'None', 'Diff_', 'T+S+R'), ('Ozone_MLP_PyTorch', 'None', 'RelDiff_', 'T+S+R'), ('Ozone_MLP_PyTorch', 'None', 'CumSum_', 'T+S+R')], 'Cores': 4}))
INFO:pyaf.timing:('OPERATION_START', ('FINALIZE_TRAINING', {'Signals': ['Ozone_MLP_PyTorch'], 'Transformations': [('Ozone_MLP_PyTorch', [('Ozone_MLP_PyTorch', 'None', 'CumSum_', 'T+S+R'), ('Ozone_MLP_PyTorch', 'None', 'Diff_', 'T+S+R'), ('Ozone_MLP_PyTorch', 'None', 'RelDiff_', 'T+S+R'), ('Ozone_MLP_PyTorch', 'None', '_', 'T+S+R')])], 'Cores': 1}))
INFO:pyaf.timing:('OPERATION_START', ('MODEL_SELECTION', {'Signal': 'Ozone_MLP_PyTorch', 'Transformations': [('Ozone_MLP_PyTorch', 'None', 'CumSum_', 'T+S+R'), ('Ozone_MLP_PyTorch', 'None', 'Diff_', 'T+S+R'), ('Ozone_MLP_PyTorch', 'None', 'RelDiff_', 'T+S+R'), ('Ozone_MLP_PyTorch', 'None', '_', 'T+S+R')]}))
INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.023, ('MODEL_SELECTION', {'Signal': 'Ozone_MLP_PyTorch', 'Transformations': [('Ozone_MLP_PyTorch', 'None', 'CumSum_', 'T+S+R'), ('Ozone_MLP_PyTorch', 'None', 'Diff_', 'T+S+R'), ('Ozone_MLP_PyTorch', 'None', 'RelDiff_', 'T+S+R'), ('Ozone_MLP_PyTorch', 'None', '_', 'T+S+R')]}))
INFO:pyaf.timing:('OPERATION_START', ('UPDATE_BEST_MODEL_PERFS', {'Signal': 'Ozone_MLP_PyTorch', 'Model': '_Ozone_MLP_PyTorch_LinearTrend_residue_bestCycle_byMAPE_residue_MLP(51)'}))
Error in cpuinfo: processor architecture is not supported in cpuinfo
INFO:pyaf.timing:('OPERATION_END_ELAPSED', 0.171, ('UPDATE_BEST_MODEL_PERFS', {'Signal': 'Ozone_MLP_PyTorch', 'Model': '_Ozone_MLP_PyTorch_LinearTrend_residue_bestCycle_byMAPE_residue_MLP(51)'}))
INFO:pyaf.timing:('OPERATION_START', ('COMPUTE_PREDICTION_INTERVALS', {'Signal': 'Ozone_MLP_PyTorch'}))
INFO:pyaf.timing:('OPERATION_END_ELAPSED', 1.887, ('COMPUTE_PREDICTION_INTERVALS', {'Signal': 'Ozone_MLP_PyTorch'}))
INFO:pyaf.timing:('OPERATION_END_ELAPSED', 2.083, ('FINALIZE_TRAINING', {'Signals': ['Ozone_MLP_PyTorch'], 'Transformations': [('Ozone_MLP_PyTorch', [('Ozone_MLP_PyTorch', 'None', 'CumSum_', 'T+S+R'), ('Ozone_MLP_PyTorch', 'None', 'Diff_', 'T+S+R'), ('Ozone_MLP_PyTorch', 'None', 'RelDiff_', 'T+S+R'), ('Ozone_MLP_PyTorch', 'None', '_', 'T+S+R')])], 'Cores': 1}))
INFO:pyaf.std:TIME_DETAIL TimeVariable='Time' TimeMin=1955-01-01T00:00:00.000000 TimeMax=1967-09-01T00:00:00.000000 TimeDelta=<DateOffset: months=1> Horizon=12
INFO:pyaf.std:SIGNAL_DETAIL_ORIG SignalVariable='Ozone_MLP_PyTorch' Length=204  Min=1.2 Max=8.7  Mean=3.835784 StdDev=1.491559
INFO:pyaf.std:SIGNAL_DETAIL_TRANSFORMED TransformedSignalVariable='_Ozone_MLP_PyTorch' Min=0.0 Max=1.0  Mean=0.351438 StdDev=0.198875
INFO:pyaf.std:DECOMPOSITION_TYPE 'T+S+R'
INFO:pyaf.std:BEST_TRANSOFORMATION_TYPE '_'
INFO:pyaf.std:BEST_DECOMPOSITION  '_Ozone_MLP_PyTorch_LinearTrend_residue_bestCycle_byMAPE_residue_MLP(51)' [LinearTrend + Cycle_None + MLP(51)]
INFO:pyaf.std:TREND_DETAIL '_Ozone_MLP_PyTorch_LinearTrend' [LinearTrend]
INFO:pyaf.std:CYCLE_DETAIL '_Ozone_MLP_PyTorch_LinearTrend_residue_bestCycle_byMAPE' [Cycle_None]
INFO:pyaf.std:AUTOREG_DETAIL '_Ozone_MLP_PyTorch_LinearTrend_residue_bestCycle_byMAPE_residue_MLP(51)' [MLP(51)]
INFO:pyaf.std:MODEL_MAPE MAPE_Fit=0.1993 MAPE_Forecast=0.1773 MAPE_Test=0.1195
INFO:pyaf.std:MODEL_SMAPE SMAPE_Fit=0.1873 SMAPE_Forecast=0.1952 SMAPE_Test=0.1213
INFO:pyaf.std:MODEL_MASE MASE_Fit=0.8579 MASE_Forecast=0.7459 MASE_Test=0.5919
INFO:pyaf.std:MODEL_CRPS CRPS_Fit=0.3031 CRPS_Forecast=0.275 CRPS_Test=0.2646
INFO:pyaf.std:MODEL_L1 L1_Fit=0.754 L1_Forecast=0.5791 L1_Test=0.2798
INFO:pyaf.std:MODEL_L2 L2_Fit=1.0038 L2_Forecast=0.7291 L2_Test=0.332
INFO:pyaf.std:MODEL_LnQ LnQ_Fit=8.9229 LnQ_Forecast=2.1536 LnQ_Test=0.2502
INFO:pyaf.std:MODEL_MEDIAN_AE MedAE_Fit=0.563 MedAE_Forecast=0.5528 MedAE_Test=0.323
INFO:pyaf.std:MODEL_KENDALL_TAU KENDALL_TAU_Fit=0.57 KENDALL_TAU_Forecast=0.689 KENDALL_TAU_Test=0.7786
INFO:pyaf.std:MODEL_KOLOMOGOROV_SMIRNOV KS_Fit=0.1373 KS_Forecast=0.2051 KS_Test=0.1667
INFO:pyaf.std:MODEL_MANN_WHITNEY_U MWU_Fit=11452.0 MWU_Forecast=904.0 MWU_Test=72.0
INFO:pyaf.std:MODEL_AUC AUC_Fit=0.4892 AUC_Forecast=0.5943 AUC_Test=0.5
INFO:pyaf.std:MODEL_COMPLEXITY 52.0
INFO:pyaf.std:SIGNAL_TRANSFORMATION_DETAIL_START
INFO:pyaf.std:SIGNAL_TRANSFORMATION_MODEL_VALUES NoTransf None
INFO:pyaf.std:SIGNAL_TRANSFORMATION_DETAIL_END
INFO:pyaf.std:TREND_DETAIL_START
INFO:pyaf.std:LINEAR_RIDGE_TREND LinearTrend (0.509677, array([-0.243617]))
INFO:pyaf.std:TREND_DETAIL_END
INFO:pyaf.std:CYCLE_MODEL_DETAIL_START
INFO:pyaf.std:BEST_CYCLE_LENGTH_VALUES _Ozone_MLP_PyTorch_LinearTrend_residue_bestCycle_byMAPE None 0.001729 {}
INFO:pyaf.std:CYCLE_MODEL_DETAIL_END
INFO:pyaf.std:AR_MODEL_DETAIL_START
INFO:pyaf.std:MODEL_TYPE PYTORCH
INFO:pyaf.std:PYTORCH_MODEL_ARCHITECTURE [Sequential(
  (0): Linear(in_features=51, out_features=51, bias=True)
  (1): Dropout(p=0.5, inplace=False)
  (2): Linear(in_features=51, out_features=1, bias=True)
)]
INFO:pyaf.std:AR_MODEL_DETAIL_END
INFO:pyaf.timing:('OPERATION_START', ('PLOTTING', {'Signals': ['Ozone_MLP_PyTorch']}))
INFO:pyaf.timing:('OPERATION_END_ELAPSED', 21.87, ('PLOTTING', {'Signals': ['Ozone_MLP_PyTorch']}))
INFO:pyaf.timing:('OPERATION_START', ('FORECASTING', {'Signals': ['Ozone_MLP_PyTorch'], 'Horizon': 12}))
INFO:pyaf.timing:('OPERATION_END_ELAPSED', 1.294, ('FORECASTING', {'Signals': ['Ozone_MLP_PyTorch'], 'Horizon': 12}))
Forecast Columns  Index(['Time', 'Ozone_MLP_PyTorch', 'row_number', 'Time_Normalized',
       '_Ozone_MLP_PyTorch', '_Ozone_MLP_PyTorch_LinearTrend',
       '_Ozone_MLP_PyTorch_LinearTrend_residue',
       '_Ozone_MLP_PyTorch_LinearTrend_residue_bestCycle_byMAPE',
       '_Ozone_MLP_PyTorch_LinearTrend_residue_bestCycle_byMAPE_residue',
       '_Ozone_MLP_PyTorch_LinearTrend_residue_bestCycle_byMAPE_residue_MLP(51)',
       '_Ozone_MLP_PyTorch_LinearTrend_residue_bestCycle_byMAPE_residue_MLP(51)_residue',
       '_Ozone_MLP_PyTorch_Trend', '_Ozone_MLP_PyTorch_Trend_residue',
       '_Ozone_MLP_PyTorch_Cycle', '_Ozone_MLP_PyTorch_Cycle_residue',
       '_Ozone_MLP_PyTorch_AR', '_Ozone_MLP_PyTorch_AR_residue',
       '_Ozone_MLP_PyTorch_TransformedForecast', 'Ozone_MLP_PyTorch_Forecast',
       '_Ozone_MLP_PyTorch_TransformedResidue', 'Ozone_MLP_PyTorch_Residue',
       'Ozone_MLP_PyTorch_Forecast_Lower_Bound',
       'Ozone_MLP_PyTorch_Forecast_Upper_Bound',
       'Ozone_MLP_PyTorch_Forecast_Quantile_2',
       'Ozone_MLP_PyTorch_Forecast_Quantile_18',
       'Ozone_MLP_PyTorch_Forecast_Quantile_34',
       'Ozone_MLP_PyTorch_Forecast_Quantile_50',
       'Ozone_MLP_PyTorch_Forecast_Quantile_66',
       'Ozone_MLP_PyTorch_Forecast_Quantile_82',
       'Ozone_MLP_PyTorch_Forecast_Quantile_98'],
      dtype='object')
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 216 entries, 0 to 215
Data columns (total 3 columns):
 #   Column                      Non-Null Count  Dtype         
---  ------                      --------------  -----         
 0   Time                        216 non-null    datetime64[ns]
 1   Ozone_MLP_PyTorch           204 non-null    float64       
 2   Ozone_MLP_PyTorch_Forecast  216 non-null    float64       
dtypes: datetime64[ns](1), float64(2)
memory usage: 5.2 KB
None
Forecasts
 [[Timestamp('1972-01-01 00:00:00') nan 1.2916813451499498]
 [Timestamp('1972-02-01 00:00:00') nan 1.3036175143260458]
 [Timestamp('1972-03-01 00:00:00') nan 2.0932444300494533]
 [Timestamp('1972-04-01 00:00:00') nan 2.3220307719538495]
 [Timestamp('1972-05-01 00:00:00') nan 2.8684464710553965]
 [Timestamp('1972-06-01 00:00:00') nan 3.068573912549856]
 [Timestamp('1972-07-01 00:00:00') nan 3.4476306376565518]
 [Timestamp('1972-08-01 00:00:00') nan 3.354936068335868]
 [Timestamp('1972-09-01 00:00:00') nan 2.9885381622994855]
 [Timestamp('1972-10-01 00:00:00') nan 1.9906627171641105]
 [Timestamp('1972-11-01 00:00:00') nan 1.5361829669767078]
 [Timestamp('1972-12-01 00:00:00') nan 1.3309359367702456]]


<ModelInfo>
{
    "Ozone_MLP_PyTorch": {
        "Dataset": {
            "Signal": "Ozone_MLP_PyTorch",
            "Time": {
                "Horizon": 12,
                "TimeMinMax": [
                    "1955-01-01 00:00:00",
                    "1971-12-01 00:00:00"
                ],
                "TimeVariable": "Time"
            },
            "Training_Signal_Length": 204
        },
        "Model": {
            "AR_Model": "MLP(51)",
            "Best_Decomposition": "_Ozone_MLP_PyTorch_LinearTrend_residue_bestCycle_byMAPE_residue_MLP(51)",
            "Cycle": "Cycle_None",
            "Signal_Decomposition_Type": "T+S+R",
            "Signal_Transoformation": "NoTransf",
            "Trend": "LinearTrend"
        },
        "Model_Performance": {
            "AUC": 0.5943,
            "COMPLEXITY": 52.0,
            "CRPS": 0.275,
            "KS": 0.2051,
            "KendallTau": 0.689,
            "LnQ": 2.1536,
            "MAE": 0.5791,
            "MAPE": 0.1773,
            "MASE": 0.7459,
            "MannWhitneyU": 904.0,
            "MedAE": 0.5528,
            "RMSE": 0.7291
        }
    }
}
</ModelInfo>




<Forecast>
{"Time":{"192":"1971-01-01T00:00:00.000Z","193":"1971-02-01T00:00:00.000Z","194":"1971-03-01T00:00:00.000Z","195":"1971-04-01T00:00:00.000Z","196":"1971-05-01T00:00:00.000Z","197":"1971-06-01T00:00:00.000Z","198":"1971-07-01T00:00:00.000Z","199":"1971-08-01T00:00:00.000Z","200":"1971-09-01T00:00:00.000Z","201":"1971-10-01T00:00:00.000Z","202":"1971-11-01T00:00:00.000Z","203":"1971-12-01T00:00:00.000Z","204":"1972-01-01T00:00:00.000Z","205":"1972-02-01T00:00:00.000Z","206":"1972-03-01T00:00:00.000Z","207":"1972-04-01T00:00:00.000Z","208":"1972-05-01T00:00:00.000Z","209":"1972-06-01T00:00:00.000Z","210":"1972-07-01T00:00:00.000Z","211":"1972-08-01T00:00:00.000Z","212":"1972-09-01T00:00:00.000Z","213":"1972-10-01T00:00:00.000Z","214":"1972-11-01T00:00:00.000Z","215":"1972-12-01T00:00:00.000Z"},"Ozone_MLP_PyTorch":{"192":1.8,"193":2.0,"194":2.2,"195":3.0,"196":2.4,"197":3.5,"198":3.5,"199":3.3,"200":2.7,"201":2.5,"202":1.6,"203":1.2,"204":null,"205":null,"206":null,"207":null,"208":null,"209":null,"210":null,"211":null,"212":null,"213":null,"214":null,"215":null},"Ozone_MLP_PyTorch_Forecast":{"192":1.4318199152,"193":1.5857563647,"194":2.1459375522,"195":2.3934606329,"196":2.817499917,"197":3.4724813225,"198":3.8823147756,"199":3.7172879582,"200":2.9777292876,"201":2.5154260858,"202":1.8127896079,"203":1.3639080892,"204":1.2916813451,"205":1.3036175143,"206":2.09324443,"207":2.322030772,"208":2.8684464711,"209":3.0685739125,"210":3.4476306377,"211":3.3549360683,"212":2.9885381623,"213":1.9906627172,"214":1.536182967,"215":1.3309359368}}
</Forecast>

@antoinecarme
Copy link
Owner Author

Riscv specific messages

Error in cpuinfo: processor architecture is not supported in cpuinfo
Error in cpuinfo: processor architecture is not supported in cpuinfo
Error in cpuinfo: processor architecture is not supported in cpuinfo
Error in cpuinfo: processor architecture is not supported in cpuinfo

@antoinecarme
Copy link
Owner Author

image

@antoinecarme
Copy link
Owner Author

cpu frequencies

root@pyafriscv:~/visionfive2-data# cpupower frequency-info               
analyzing CPU 0:
  driver: starfive-cpufreq
  CPUs which run at the same hardware frequency: 0 1 2 3
  CPUs which need to have their frequency coordinated by software: 0 1 2 3
  maximum transition latency:  Cannot determine or is not supported.
  hardware limits: 375 MHz - 1.50 GHz
  available frequency steps:  375 MHz, 500 MHz, 750 MHz, 1.50 GHz
  available cpufreq governors: conservative ondemand userspace powersave performance schedutil
  current policy: frequency should be within 375 MHz and 1.50 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency: 375 MHz (asserted by call to hardware)

@antoinecarme
Copy link
Owner Author

Fixed

@antoinecarme
Copy link
Owner Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant