Skocz do zawartości

Pochwal się nad czym właśnie pracujesz! Wspólny mini-worklog


Pomocna odpowiedź

Tak, 15 do 20µA w stanie spoczynku i około 80... 100mA przez krótką chwilę kiedy dane są wysyłane. 

  • Lubię! 1
Link to post
Share on other sites
(edytowany)

Nie jest to projekt ale nauka i eksperymenty z uczeniem maszynowym. W końcu przekonałem się do Google Colab i idei notatników. Takie drobne porównanie uczenia sieci na zbiorze MNIST z różnym sprzętem. 25 epok, sieć oczywiście jest po 5 epoce przeuczona.

  • Desktop i7 9gen CPU: Time:  81.43139457702637 s
  • Desktop RTX2060 GPU: Time:  42.828622341156006 s
  • Colab None: Time:  115.74053525924683 s
  • Colab GPU: Time:  36.39394402503967 s
  • Colab TPU: Time:  142.82041001319885 s

Taka sieć jest dość mała i ciężko o jakieś większe wnioski, ale widać, że Google udostępnia za darmo całkiem dobry sprzęt i dla ciekawskich nawet jest odpowiedź na nasuwające się pytania:

image.thumb.png.e1d6189ce4f8283f29d2ea19162f9c18.png

I tu ciekawa informacja:

The types of GPUs that are available in Colab vary over time. This is necessary for Colab to be able to provide access to these resources for free. The GPUs available in Colab often include Nvidia K80s, T4s, P4s and P100s.

 

Edytowano przez Gieneq
Link to post
Share on other sites

@Gieneq Jeśli masz włączoną akcelerację GPU w colab to warto czasem uruchomić polecenie

!nvidia-smi

Wyświetla ono informacje o używanym sprzęcie, przykładowo:

obraz.thumb.png.f13791aef4d1948dccf683f692b5f03f.png

Teraz wystarczy wpisać w google "Tesla T4" i zobaczyć ile taka zabawka kosztuje. Ten akcelerator jest akurat dość tani, jakieś 12 tys. zł...

Ale można trafić na maszynki za kilka razy więcej - i wszystko za darmo 🙂

A przy okazji, cena tych akceleratorów pewnie jest jakoś powiązana z czasami działania, inaczej nikt by w nie tyle pieniędzy nie inwestował.

Link to post
Share on other sites
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

@Elvis Nie poszczęściło mi się, ale może kiedyś trafię na lepszy sprzęt 🙂 

image.thumb.png.2ee57c9c7828aba8a00b1182730ca195.png

10$/miesiąc w wersji pro nie jest takim wielkim wydatkiem jeżeli oczywiście często się z tego korzysta i priorytet w kolejce coś znaczy. Na razie zaczynam w tym temacie, przerobiłem połowę książki do Kerasa i chcę choć trochę lepiej zrozumieć temat CNN. 

Ta seria jest genialna, może komuś się przyda, dobrze jest wytłumaczony temat propagacji wstecznej:

 

Link to post
Share on other sites

Mnie trochę poniosło...

WORD software[] = {
        ARGUMENT, 0x19,
        ARGUMENT, GPIO_OUT,
        CALLOS, GPIO_INIT,
        ARGUMENT, 0x19,
        ARGUMENT, 0x01,
        CALLOS, GPIO_SET_FUNCTION,
        WAIT, 500,
        ARGUMENT, 0x19,
        ARGUMENT, 0x00,
        CALLOS, GPIO_SET_FUNCTION,
        WAIT, 500,
        JUMP, 0x06
    };

Tak trochę bardzo... to jest Blinky napisane na Raspberry Pi Pico w emulatorze Assemblera napisanym w C++... Chyba czas odstawić herbatkę...

A tutaj wersja "mniej przejrzysta" 😄 

    WORD software[] = {
        ARGUMENT | FIRST_IS_ADDRESS, 0x18, // 0, 1
        ARGUMENT, GPIO_OUT, // 2, 3
        CALLOS, GPIO_INIT, // 4, 5
        ARGUMENT | FIRST_IS_ADDRESS, 0x18, // 6, 7
        ARGUMENT, 0x01, // 8, 9
        CALLOS, GPIO_SET_FUNCTION, // 10, 11
        WAIT | FIRST_IS_ADDRESS, 0x19, // 12, 13
        ARGUMENT | FIRST_IS_ADDRESS, 0x18, // 14, 15
        ARGUMENT, 0x00, // 16, 17
        CALLOS, GPIO_SET_FUNCTION, // 18, 19
        WAIT | FIRST_IS_ADDRESS, 0x19, // 20, 21
        JUMP, 0x06, // 22, 23
        0x19, 500, // 24, 25
    };

po prawej stronie decymalne adresy 😉 Jak widać emulator potrafi sobie poradzić ze znalezieniem wartości pod danym adresem (patrz 0x18 = 24 -> 0x19 oraz 0x19 = 25 -> 500), to dokładnie to samo co wyżej.

Ostatecznie ten kod w prekompilatorze będzie wyglądał w tym stylu (ale do tego jeszcze długa droga...)

assign gpio 0x19
assign delay 0d500

arg @gpio
arg 0x01
call GPIO_INIT
label: arg @gpio
arg 0x01
call GPIO_SET
wait @delay
arg @gpio
arg 0x00
call GPIO_SET
wait @delay
jump label

Plany są... gorzej z wykonaniem -,- 

Link to post
Share on other sites

Takie coś w ramach odpoczynku od syntezy mowy 🙂

chorder.thumb.jpg.58d03c9b9a47b4fc7f32156e4e2284fb.jpg

Na razie jak widać jeszcze w powijakach.

Idea i układ klawiszy wzięte z chordera (dostosowana do moje prawej ręki), mapa klawiatury własna (coś w stylu "polski akordowy programisty"), program pisany od zera na RPi Pico. Odpowiada typowej pecetowej klawiaturze, bez powtarzania klawiszy, bloku numerycznego, prawych shift/ctrl/super/ctrl oraz klawiszy "sysrq", "scroll lock" i "pause" (to ostatnie to tak na razie, bo mapa klawiatury jest w trakcie tworzenia i przynajmniej SysRq może gdzieś wcisnę).

W pierwszych testach osiągam ok. 120 znaków na minutę, ale ty tylko dlatego, że na razie muszę sobie przypomnieć gdzie na tej klawiaturze jest jakiś znaczek... a póki trochę się to zmienia :). Pewnie więcej niż 200 CPM nie osiągnę, ale tyle wystarczy.

  • Lubię! 1
Link to post
Share on other sites

Chyba mapa klawiatury już się nie zmieni... wyszło mi coś takiego:

 

Tablica liter (wciśnięty klawisz Central przełącza bank)
    
x---    A / U
-x--    E / Y
xx--    S / Z
--x-    I / J
x-x-    C / X
-xx-    N / M
xxx-    P / B
---x    O / H
x--x    F / W
-x-x    L / R
xx-x    K / G
--xx    T / D
x-xx    V / Q
-xxx    Dż/ Dź
xxxx Space/Enter

Tablica znakowa (wciśnięty klawisz Far)

x---    .   >
-x--    ,   <
xx--    [   {
--x-    ;   :
x-x-    (   (
-xx-    /   ?
xxx-    @   #   
---x    '   "
x--x    !   $   
-x-x    )   )
xx-x    -   _
--xx    ]   }
x-xx    `   ~
-xxx    tab
xxxx    NUM

Tablica cyfrowa (wciśnięty klawisz Far, aktywny NUM)

x---    1   !
-x--    2   @
xx--    3   #
--x-    4   $
x-x-    5   %
-xx-    6   ^
xxx-    7   &
---x    8   *
x--x    9   (
-x-x    0   )
xx-x    -   _
--xx    =   +
x-xx    \   |
-xxx    tab     (z altgr kropka/dwukropek)
xxxx    NUM

Tablica kursorów    (wciśnięty klawisz Near)

x---    left
-x--    up
xx--    pgup
--x-    right
x-x-    alt-tab
-xx-    backspace/delete
xxx-    home
---x    down
x--x    esc
-x-x    shift-alt-tab
xx-x    insert
--xx    pgdown
x-xx    menu
-xxx    esc
xxxx    Fn  (tylko na następny klawisz)

Klawisze funkcyjne (wciśnięty klawisz Near, aktywny Fn)

x---    F1
-x--    F2
xx--    F3
--x-    F4
x-x-    F5
-xx-    F6
xxx-    F7
---x    F8
x--x    F9
-x-x    F10
xx-x    F11
--xx    F12
x-xx    Włącz SUPER
-xxx    Przełącz na mysz
xxxx    Wyłącz Fn

Klawisze kciuka (krótko, długo)

Far     altgr   alt
Central shift   capslock
Near    ctrl    super

Modyfikatory altgr, alt, shift, ctrl, super działają tylko na następny
  klawisz.

W przypadku, gdy wszystkie klawisze są puszczone modyfikatory oraz Fn
  wyłączane po 5 sekunach (Num pozostaje aż do odwołania)

Klawisze myszy:

x---    lewo
-x--    góra
xx--    lewo-góra
--x-    prawo
x-x-    scroll up
-xx-    prawo-góra
xxx-    Klawiatura: Super-F1
---x    dół
x--x    lewo-dół
-x-x    scroll down
xx-x    Klawiatura: Alt
--xx    prawo-dół
x-xx    Klawiatura: Ctrl
-xxx    Klawiatura: Shift
xxxx    Przełącz na klawiaturę

Klawisze kciuka odpowiadają normalnym klawiszom myszy

Ledy:
1 - caps
2 - num
3 - alt
4 - ctrl (pulsujący: super)
5 - shift

Słabe świecenie diod alt, ctrl i shift - zapamiętany stan

Dodatkowo:

Klawisze left-up-right-down-pgup-pgdown-home-end zapamiętują
  stan shift i ctrl aż do puszczenia Near

Klawisze left-right zapamiętują dodatkowo alt

Klawisze alt-tab i shift-alt-tab nie wysyłają sygnału puszczenia
  klawisza alt aż do puszczenia Near

Klawisz Backspace/Delete pamięta stan aż do puszczenia Near

Far, Centrai i Near to trzy klawisze pod kciuk (terminologia z chordera).

Teraz trzeba się nauczyć na tym pisać 🙂

Edytowano przez ethanak
  • Lubię! 2
Link to post
Share on other sites

Jestem pod wrażeniem.

2 godziny temu, ethanak napisał:

Teraz trzeba się nauczyć na tym pisać 🙂

Dlaczego zdecydowałeś się na taki typ klawiatury? Ja staram się pilnować, żeby ćwiczyć bezwzrokowe pisanie, ale pisanie na takim "chorderze" to jakiś odlot...

 

Link to post
Share on other sites
8 godzin temu, pmochocki napisał:

Dlaczego zdecydowałeś się na taki typ klawiatury?

Proste.

  • Wymiary - docelowo po wsadzeniu w obudowę powinno wyjść ok. 120 x 75 x 13 mm razem z pokrywką zabezpieczającą. Czyli można nosić w kieszeni.
  • Możliwość pisania jedną ręką, przy czym nie trzeba trafiać palcami w różne klawisze (każdy ma swój), co implikuje brak konieczności kontrolowania wzrokiem co naciskam.
  • Typ (podobno) sprawdzony i nadający się do użytku (zdaje się że nawet w NASA próbowali) przy najmniejszej możliwej ilości klawiszy

A potrzebuję przede wszystkim do podłączenia do telefonu - czasami muszę coś sensownego napisać, a to androidowe maleństwo gdzie trzeba trafiać w kwadracik na ekranie trzy razy mniejszy od palca nie jest moim ulubionym typem klawiatury. Mogę pisać nawet wolniej, ale bez konieczności poprawiania co chwilę bo mi się tapło w kwadracik obok.

8 godzin temu, pmochocki napisał:

pisanie na takim "chorderze" to jakiś odlot...

Zapewniam że łatwiejsze niż granie na fortepianie (a z tym mam do czynienia odkąd pamiętam) 🙂 Że o akordeonie chromatycznym już nie wspomnę 😉

  • Lubię! 1
Link to post
Share on other sites
24 minuty temu, ethanak napisał:

A potrzebuję przede wszystkim do podłączenia do telefonu - czasami muszę coś sensownego napisać, a to androidowe maleństwo gdzie trzeba trafiać w kwadracik na ekranie trzy razy mniejszy od palca nie jest moim ulubionym typem klawiatury.

No do telefonu to ma sens. "Inteligentny" słownik rozwiązuje u mnie 90% problemów, ale generuje czasami kilka nowych.

25 minut temu, ethanak napisał:

Zapewniam że łatwiejsze niż granie na fortepianie (a z tym mam do czynienia odkąd pamiętam) 🙂 Że o akordeonie chromatycznym już nie wspomnę 😉

No tak, ja ma się takie umiejętności "bazowe", to próg wejścia jest niższy. Gratuluje pomysłu i trzymam kciuki. 

Link to post
Share on other sites
2 minuty temu, pmochocki napisał:

"Inteligentny" słownik rozwiązuje u mnie 90% problemów

Krążą słuchy że zmarł jego wynalazca - niech mu ziemniak lepki Będzin 🙂

BTW pomysł nie jest mój, ja tylko zmieniłem rozstaw klawiszy na mniej męczący i uprościłem mapę klawiatury.

Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.