Poradnik jak zrobić żeby sprawdzaczka działała u Ciebie na komputerze

sztuczna-inteligencja

(Michał Martusewicz) #1

Ja już się namęczyłem, więc Wy już nie musicie.

  1. Sklonuj repo ze sprawdzaczkami od @jch: https://github.com/janchorowski/ai_validator
  2. Zainstaluj sobie go: sudo apt install golang-go
  3. W pliku ai_su.go w linii nr 18 wstaw ścieżkę dostępu do położenia tego pliku (np. "/home/[user]/ai_validator/lista5/")
  4. Zakomentuj linię 136 (//komentarz)
  5. go build ai_su.go
  6. W pliku ai_dueller.py w linii 33 wstaw ścieżkę dostępu do właśnie zbudowanej binarki ("/home/[user]/ai_validator/lista5/ai_su")
  7. Jeżeli chcesz uruchamiać program, który jest w innym katalogu, to należy pamiętać, że sprawdzaczka umie uruchamiać tylko foldery, które leżą pod ścieżką podaną w punkcie 3. W związku z tym polecam zrobić skrót: ln -s /path/to/your/folder name_of_link
  8. Dalej należy postępować według REDME sprawdzaczki.

(JCh) #2

Ooo, nie podejrzewałem że będzie taka potrzeba. Ale na swoje własne potrzeby jak ktoś nie chce się z go użerać, to można też:

cat > /home/[user]/ai_validator/lista5/ai_su << EOF
#!/bin/bash
exec $1/run.sh
EOF

chmod +x /home/[user]/ai_validator/lista5/ai_su

ai_su.go robi trochę więcej, bo ma trochę duże uprawnienia na komputerach pracownianych.


(Michał Martusewicz) #3

Zadanie drugie z listy piątej sugeruje użycie sprawdzaczki. No i warto przetestować, czy program działa poprawnie :wink:


(JCh) #4

Już jest dżungla i opcja lokalnego uruchamiania (na linuksie, nie resetuje środowiska jak ai_su.go ale do szybkich testów się nada).


(Kacper Kulczak) #5

Mam taki oto problem:

i279079@lab110-02:~$ mkdir /pio/scratch/2/ai_solutions/reversi_i279079
mkdir: cannot create directory ‘/pio/scratch/2/ai_solutions/reversi_i279079’: Permission denied
i279079@lab110-01:~/Documents/ai_validator/lista5$ cd /pio/scratch/2/ai_solutions/
-bash: cd: /pio/scratch/2/ai_solutions/: Permission denied


(Piotr Szymajda) #6

Próba sprawdzenia uprawnień kończy się dość ciekawie: :smile:

i273023@lab137-10:~$ ls -alh /pio/scratch/2/ai_solutions/
ls: nie ma dostępu do /pio/scratch/2/ai_solutions/.: Brak dostępu
ls: nie ma dostępu do /pio/scratch/2/ai_solutions/..: Brak dostępu
ls: nie ma dostępu do /pio/scratch/2/ai_solutions/ai_su: Brak dostępu
ls: nie ma dostępu do /pio/scratch/2/ai_solutions/jungle_heuristic: Brak dostępu
ls: nie ma dostępu do /pio/scratch/2/ai_solutions/README.md: Brak dostępu
ls: nie ma dostępu do /pio/scratch/2/ai_solutions/prych_test: Brak dostępu
ls: nie ma dostępu do /pio/scratch/2/ai_solutions/ai_dueller.py: Brak dostępu
ls: nie ma dostępu do /pio/scratch/2/ai_solutions/reversi_random: Brak dostępu
razem 0
?????????? ? ? ? ?            ? .
?????????? ? ? ? ?            ? ..
?????????? ? ? ? ?            ? ai_dueller.py
?????????? ? ? ? ?            ? ai_su
?????????? ? ? ? ?            ? jungle_heuristic
?????????? ? ? ? ?            ? prych_test
?????????? ? ? ? ?            ? README.md
?????????? ? ? ? ?            ? reversi_random

@jch: Wydaje mi się (podkreślam słowo wydaje), że folder ai_solutions powinien mieć ustawione uprawnienia
drwxrwxrwt, a nie drwxrwxrwT.


(JCh) #7

Tak powinno być, poprawiłem.


(Kacper Kulczak) #8

Jest ewidentnie lepiej, ale dalej nie do końca :frowning: @jch

i279079@lab110-02:/pio/scratch/2/ai_solutions$ python2 ./ai_dueller.py 
Traceback (most recent call last):
  File "./ai_dueller.py", line 14, in <module>
    import queue
ImportError: No module named queue

Wysłałem PullRequest który powinien to naprawić.


(Piotr Szymajda) #9
  1. w tym folderze jest też poprawiona wersja ai_dueller_i273023.py (wiem, mało kreatywne)
  2. nie musisz pisać python ai_dueller.py wystarzczy ./ai_dueller.py

Zważ, że ai_dueller.py znajdujący się w tym folderze nie ma też poprawek które zostały już zmergowane na Githubie


(JCh) #10

Dlaczego nie zrobicie po prostu
./ai_dueller.py

bo on ma w pierwszej liniii
#!/pio/os/anaconda/bin/python
i ten python akurat ma queue.

Poprawki wgram, dzięki za przypomnienie.


(Kacper Kulczak) #11

./ai_dueller.py również rzuca ImportError


(JCh) #12

Ooo, wgrałem wersję z PRu, ale muszę rozwiązać tajemnicę znikającej kolejki… ciekawe skąd u mnie ona jest. Sorry za problem.


(Michał Martusewicz) #13

Ech, ja mam na przykład taki błąd:

i282023@lab110-02:/pio/scratch/2/ai_solutions$ ./ai_dueller.py  reversi reversi_random reversi_i282023
Traceback (most recent call last):
  File "./ai_dueller.py", line 23, in <module>
    import yaml
ImportError: No module named yaml

Ale wersja @Bozydar działa dobrze.


(Piotr Szymajda) #14

Bo mają ustawiony inny Shebang - korzystają z innej wersji pythona.

Żeby działała Ci wersja oficjalna musisz zrobić

 source set-env.sh

Jeśli nie masz pod ręką pliku set-env.sh

source /pio/lscratch/1/os/anaconda/set-env.sh

(Piotr Szymajda) #15

Do README.md został dołożony akapit na temat obrazków logicznych. Osobą chcącym przetestować swoje obrazki polecam poniższą linijkę:

 ./ai_nonogram_validator.py --stdio --verbose --testset quick_nonograms_tests_i273023.yaml obrazki_i2XXXXX/

Do pliku quick_nonograms_tests.yaml nie mamy dostępu :stuck_out_tongue:


(Przemek) #16

Z innej beczki: skąd w lab110 wziąć numpy? Mój solver obrazków go używa.


(Michał Martusewicz) #17

Bodajże

pip install numpy --user

Ale @Kacper_Kulczak wie na pewno.


(Przemek) #18

Nie ma pipa :frowning_face:


(Kacper Kulczak) #19

/pio/os/anaconda/set-env.sh
Taka instrukcja. Możesz wybrać anaconda3 dla pyhon3


(Przemek) #20

Nadal nie śmiga :sob: @jch, czy w trakcie turnieju user, który będzie odpalał sprawdzarkę będzie miał dostęp do numpy?