Subversion Repositories Kolibri OS

Rev

Rev 9733 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 9733 Rev 9821
Line 51... Line 51...
51
  • Âñòóïëåíèå
  • 51
  • Âñòóïëåíèå
  • 52
  • Ôóíêöèè
  • 52
  • Ôóíêöèè
  • 53
     
    53
     
    54
  • lib_init
  • 54
  • lib_init
  • 55
  • NNP_Create
  • 55
  • NNP_Create
  • -
     
    56
  • NNP_Reset
  • 56
  • NNP_FeedForward
  • 57
  • NNP_FeedForward
  • 57
  • NNP_BackPropagation
  • 58
  • NNP_BackPropagation
  • 58
  • NNP_GetMemData
  • 59
  • NNP_GetMemData
  • 59
  • NNP_SetMemData
  • 60
  • NNP_SetMemData
  • 60
  • NNP_Destroy
  • 61
  • NNP_Destroy
  • 61
     
    62
     
    62
     
    63
     
    63
  • Êîíñòàíòû
  • 64
  • Êîíñòàíòû
  • 64
  • Òàáëèöà ýêñïîðòà
  • 65
  • Òàáëèöà ýêñïîðòà
  • -
     
    66
  • Ïðèìåð
  • 65
  • Èñòîðèÿ
  • 67
  • Èñòîðèÿ
  • 66
     
    68
     
    Line 67... Line 69...
    67
     
    69
     
    68

    Âñòóïëåíèå

    70

    Âñòóïëåíèå

    69

    Äîêóìåíòàöèÿ ê áèáëèîòåêå nnp.obj, äëÿ ÎÑ Êîëèáðè. Ýòà áèáëèîòåêà ñîçäàíà äëÿ ðàáîòû ñ íåéðîñåòÿìè (neural network perceptron). Âèäåî ïî íåéðîñåòÿì: 1,

    71

    Äîêóìåíòàöèÿ ê áèáëèîòåêå nnp.obj, äëÿ ÎÑ Êîëèáðè. Ýòà áèáëèîòåêà ñîçäàíà äëÿ ðàáîòû ñ íåéðîñåòÿìè (neural network perceptron). Âèäåî ïî íåéðîñåòÿì: 1,

    Line 70... Line 72...
    70
    2. Èñõîäíûé êîä (ÿçûê java), íà îñíîâå êîòîðîãî äåëàëñü áèáëèîòåêà: 3.

    72
    2. Èñõîäíûé êîä (ÿçûê java), íà îñíîâå êîòîðîãî äåëàëñü áèáëèîòåêà: 3.

    Line 71... Line 73...
    71
     
    73
     
    Line 72... Line 74...
    72

    Ïîñëåäíåå îáíîâëåíèå áèáëèîòåêè 01.03.22.

    74

    Ïîñëåäíåå îáíîâëåíèå áèáëèîòåêè 28.05.22.

    73
     
    75
     
    Line 94... Line 96...
    94

    Ñîçäàåò ñëîè íåéðîñåòè è çàïîëíÿåò âåñà ñëó÷àéíûìè çíà÷åíèÿìè îò -1 äî 1. Ïðèìåð:

    96

    Ñîçäàåò ñëîè íåéðîñåòè è çàïîëíÿåò âåñà ñëó÷àéíûìè çíà÷åíèÿìè îò -1 äî 1. Ïðèìåð:

    95
    NNLOPT_LEN equ 7
    97
    NNLOPT_LEN equ 7
    96
    nnlopt dd 2,8,8,8,8,8,3
    98
    nnlopt dd 2,8,8,8,8,8,3
    97
    ...
    99
    ...
    98
    stdcall [NNP_Create], nnp_0, 0.01, 0, 0, nnlopt, NNLOPT_LEN
    100
    stdcall [NNP_Create], nnp_0, 0.01, 0, 0, nnlopt, NNLOPT_LEN
    99

    ãäå nnp_0 - ñòðóêòóðà áóôåðà.

    101

    ãäå nnp_0 - ñòðóêòóðà íåéðîñåòè.

    100

    0.01 - ñêîðîñòü îáó÷åíèÿ.

    102

    0.01 - ñêîðîñòü îáó÷åíèÿ.

    101

    0 - àäðåñ ôóíêöèè àêòèâàöèè, åñëè 0 òî áåðåòñÿ ñòàíäàðòíàÿ ôóíêöèÿ âíóòðè áèáëèîòåêè.

    103

    0 - àäðåñ ôóíêöèè àêòèâàöèè, åñëè 0 òî áåðåòñÿ ñòàíäàðòíàÿ ôóíêöèÿ âíóòðè áèáëèîòåêè.

    102

    0 - àäðåñ ôóíêöèè ñâ¸ðòêè, åñëè 0 òî áåðåòñÿ ñòàíäàðòíàÿ ôóíêöèÿ âíóòðè áèáëèîòåêè.

    104

    0 - àäðåñ ôóíêöèè ñâ¸ðòêè, åñëè 0 òî áåðåòñÿ ñòàíäàðòíàÿ ôóíêöèÿ âíóòðè áèáëèîòåêè.

    103

    nnlopt - ìàññèâ ñ ÷èñëîì íåéðîíîâ íà êàæäîì ñëîå.

    105

    nnlopt - ìàññèâ ñ ÷èñëîì íåéðîíîâ íà êàæäîì ñëîå.

    104

    NNLOPT_LEN - äëèííà ìàññèâà nnlopt.

    106

    NNLOPT_LEN - äëèííà ìàññèâà nnlopt.

    Line -... Line 107...
    -
     
    107
     
    -
     
    108

    NNP_Reset

    -
     
    109

    Ñáðîñ ïàðàìåòðîâ íåéðîñåòè. Äëÿ êàæäîãî ñëîÿ áàçèñíûé âåêòîð è âåñà çàïîëíÿþòñÿ ñëó÷àéíûìè ÷èñëàìè îò -1 äî 1. Òàêèå æå äåéñòâèÿ ïðîèñõîäÿò â êîíñòðóêòîðå NNP_Create.

    -
     
    110
    stdcall [NNP_Reset], nnp_0
    -
     
    111

    ãäå nnp_0 - ñòðóêòóðà íåéðîñåòè.

    105
     
    112
     
    106

    NNP_FeedForward

    113

    NNP_FeedForward

    107

    Ôóíêöèÿ ðàñ÷åòà çíà÷åíèé âûõîäíûõ íåéðîíîâ. Íà âõîä ïîäàþòüñÿ çíà÷åíèÿ âõîäíûõ íåéðîíîâ. Íà âûõîäå âîçâðàùàåòñÿ óêàçàòåëü íà ñëîé âûõîäíûõ íåéðîíîâ.

    114

    Ôóíêöèÿ ðàñ÷åòà çíà÷åíèé âûõîäíûõ íåéðîíîâ. Íà âõîä ïîäàþòüñÿ çíà÷åíèÿ âõîäíûõ íåéðîíîâ. Íà âûõîäå âîçâðàùàåòñÿ óêàçàòåëü íà ñëîé âûõîäíûõ íåéðîíîâ.

    108
    n_input dq ?,?,?
    115
    n_input dq ?,?,?
    109
    ...
    116
    ...
    110
    stdcall [NNP_FeedForward], nnp_0,n_input
    117
    stdcall [NNP_FeedForward], nnp_0,n_input
    Line 111... Line 118...
    111

    ãäå nnp_0 - ñòðóêòóðà áóôåðà, n_input - óêàçàòåëü íà äàííûå âõîäíûõ íåéðîíîâ.

    118

    ãäå nnp_0 - ñòðóêòóðà íåéðîñåòè, n_input - óêàçàòåëü íà äàííûå âõîäíûõ íåéðîíîâ.

    112
     
    119
     
    113

    NNP_BackPropagation

    120

    NNP_BackPropagation

    114

    Ôóíêöèÿ äëÿ îáó÷åíèÿ ñåòè. Ïðèìåð:

    121

    Ôóíêöèÿ äëÿ îáó÷åíèÿ ñåòè. Ïðèìåð:

    115
    n_targ dq ?,?,?
    122
    n_targ dq ?,?,?
    116
    ...
    123
    ...
    Line 117... Line 124...
    117
    stdcall [NNP_BackPropagation], nnp_0, n_targ
    124
    stdcall [NNP_BackPropagation], nnp_0, n_targ
    118

    ãäå nnp_0 - ñòðóêòóðà áóôåðà, n_targ - óêàçàòåëü íà äàííûå äëÿ îáó÷åíèÿ ñåòè.

    125

    ãäå nnp_0 - ñòðóêòóðà íåéðîñåòè, n_targ - óêàçàòåëü íà äàííûå äëÿ îáó÷åíèÿ ñåòè.

    119
     
    126
     
    120

    NNP_GetMemData

    127

    NNP_GetMemData

    121

    Áåðåò äàííûå íåéðîñåòè è çàïèñûâàåò èõ â óêàçàííîå ìåñòî â ïàìÿòè. Ïðèìåð:

    128

    Áåðåò äàííûå íåéðîñåòè è çàïèñûâàåò èõ â óêàçàííîå ìåñòî â ïàìÿòè. Ïðèìåð:

    122
    f_data dd ?
    129
    f_data dd ?
    Line 123... Line 130...
    123
    ...
    130
    ...
    124
    stdcall [NNP_GetMemData], nnp_0, NNP_FF_JSON, [f_data]
    131
    stdcall [NNP_GetMemData], nnp_0, NNP_FF_JSON, [f_data]
    125

    ãäå nnp_0 - ñòðóêòóðà áóôåðà, f_data - óêàçàòåëü íà äàííûå äëÿ çàïèñè ïàðàìåòðîâ ñåòè.

    132

    ãäå nnp_0 - ñòðóêòóðà íåéðîñåòè, f_data - óêàçàòåëü íà äàííûå äëÿ çàïèñè ïàðàìåòðîâ ñåòè.

    126
     
    133
     
    127

    NNP_SetMemData

    134

    NNP_SetMemData

    128

    Áåðåò äàííûå èç óêàçàííîãî ìåñòà ïàìÿòè è çàïèñûâàåò èõ â íåéðîñåòü. Ïðèìåð:

    135

    Áåðåò äàííûå èç óêàçàííîãî ìåñòà ïàìÿòè è çàïèñûâàåò èõ â íåéðîñåòü.  ñëó÷àå óñïåõà â ðåãèñòðå eax âîçâðàùàåòñÿ 0, èíà÷å óêàçàòåëü íà ñòðîêó ñ òåêñòîì îøèáêè. Ïðèìåð:

    Line 129... Line 136...
    129
    f_data dd ?
    136
    f_data dd ?
    130
    ...
    137
    ...
    Line 131... Line 138...
    131
    stdcall [NNP_SetMemData], nnp_0, NNP_FF_JSON, [f_data]
    138
    stdcall [NNP_SetMemData], nnp_0, NNP_FF_JSON, [f_data]
    Line 143... Line 150...
    143

    Òàáëèöà ýêñïîðòà

    150

    Òàáëèöà ýêñïîðòà

    144

    Ïðèìåð òàáëèöû ýêñïîðòà, ðàñ÷èòàííîé íà èñïîëüçîâàíèå ìàêðîñà @use_library_mem:

    151

    Ïðèìåð òàáëèöû ýêñïîðòà, ðàñ÷èòàííîé íà èñïîëüçîâàíèå ìàêðîñà @use_library_mem:

    145
    align 4
    152
    align 4
    146
    import_nnp_lib:
    153
    import_nnp_lib:
    147
    	dd sz_lib_init
    154
    	dd sz_lib_init
    148
    	NNP_Create dd sz_nnp_create
    155
    	NNP_Create      dd sz_create
    -
     
    156
    	NNP_Reset       dd sz_reset
    149
    	NNP_FeedForward dd sz_nnp_FeedForward
    157
    	NNP_FeedForward dd sz_feedforward
    150
    	NNP_BackPropagation dd sz_nnp_BackPropagation
    158
    	NNP_BackPropagation dd sz_backpropagation
    151
    	NNP_GetMemData dd sz_nnp_GetMemData
    159
    	NNP_GetMemData  dd sz_getmemdata
    152
    	NNP_SetMemData dd sz_nnp_SetMemData
    160
    	NNP_SetMemData  dd sz_setmemdata
    153
    	NNP_Destroy dd sz_nnp_Destroy
    161
    	NNP_Destroy     dd sz_destroy
    154
    	dd 0,0
    162
    dd 0,0
    155
    	sz_lib_init db 'lib_init',0
    163
    	sz_lib_init     db 'lib_init',0
    156
    	sz_nnp_create db 'NNP_Create',0
    164
    	sz_create       db 'NNP_Create',0
    -
     
    165
    	sz_reset        db 'NNP_Reset',0
    157
    	sz_nnp_FeedForward db 'NNP_FeedForward',0
    166
    	sz_feedforward  db 'NNP_FeedForward',0
    158
    	sz_nnp_BackPropagation db 'NNP_BackPropagation',0
    167
    	sz_backpropagation db 'NNP_BackPropagation',0
    159
    	sz_nnp_GetMemData db 'NNP_GetMemData',0
    168
    	sz_getmemdata   db 'NNP_GetMemData',0
    160
    	sz_nnp_SetMemData db 'NNP_SetMemData',0
    169
    	sz_setmemdata   db 'NNP_SetMemData',0
    161
    	sz_nnp_Destroy db 'NNP_Destroy',0
    170
    	sz_destroy      db 'NNP_Destroy',0
    162
     
    171
     
    Line 163... Line 172...
    163
     
    172
     
    164

    Èñòîðèÿ

    173

    Ïðèìåð

    -
     
    174

     äàííîì ïðèìåðå ñîçäàþòñÿ 8 îáúåêòîâ (òî÷åê ñ êîîðäèíàòàìè x, y), êàæäûé èç êîòîðûõ èìååò òèï 0 (ñèíèå) èëè 1 (çåëåíûå). Ïðè íàæàòèè êíîïêè ïðîèñõîäèò òðåíèðîâêà íåéðîñåòè.  ïðîöåññå òðåíèðîâêè íåéðîñåòü ó÷èòñÿ îïðåäåëÿòü êàêîé öâåò äîëæåí ñîîòâåòñòâîâàòü çàäàííûì êîîðäèíàòàì x, y. Òðåíèðîâàòü ñåòü ìîæíî ìíîãî ðàç, ÷èñëî öèêëîâ òðåíèðîâêè ïîêàçàíî â çàãîëîâêå îêíà. Êíîïêà ïåðåñòàâëÿåò òî÷êè ñëó÷àéíûì îáðàçîì. Êíîïêà ñáðàñûâàåò ñîñòîÿíèå íåéðîñåòè.

    -
     
    175
     
    Line -... Line 176...
    -
     
    176

    Ðèñ. 1. Ïðèìåð èñïîëüçîâàíèÿ áèáëèîòåêè

    -
     
    177
     
    -
     
    178

    Èñòîðèÿ

    165

    01.03.22 - ñàìàÿ ïåðâàÿ âåðñèÿ áèáëèîòåêè (ïðèìåðû èñïîëüçîâàíèÿ âîçìîæíî áóäóò ïîçæå).

    179

    01.03.22 - ñàìàÿ ïåðâàÿ âåðñèÿ áèáëèîòåêè.

    166
     
    180

    28.05.22 - ïðèìåð èñïîëüçîâàíèÿ áèáëèîòåêè, íîâàÿ ôóíêöèÿ NNP_Reset, îáíîâëåíèå ôóíêöèè NNP_SetMemData.

    167
     
    181