Skip to content

Commit

Permalink
readme
Browse files Browse the repository at this point in the history
  • Loading branch information
annndruha committed Mar 12, 2024
1 parent dc3ecb8 commit caab74f
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 12 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ __pycache__/
.vscode
dataset*/
cutter.py
dataset_real_vs_simulation.zip

# C extensions
*.so
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,10 @@ PySpice по умолчанию требует NgSpice как разделяем
Поэтому скачиваем руками:

* Переходим на [сайт](https://sourceforge.net/projects/ngspice/files/ng-spice-rework/old-releases/34/)
* Скачиваем файл [ngspice-34_dll_64.zip](https://sourceforge.net/projects/ngspice/files/ng-spice-rework/old-releases/34/ngspice-34_dll_64.zip/download) (ждём 5 секунд)
* Скачиваем файл `ngspice-34_dll_64.zip` (ждём 5 секунд)
* Распаковываем из архива папку `Spice64_dll` в `venv\Lib\site-packages\PySpice\Spice\NgSpice`

Далее переходим в подпапку распакованной папки, создаём symlink:
Далее переходим в подпапку распакованной папки, создаём symlink (от администратора):

```commandline
cd venv\Lib\site-packages\PySpice\Spice\NgSpice\Spice64_dll\dll-vs
Expand Down
16 changes: 7 additions & 9 deletions docs/3_Generate_dataset.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,17 @@

Датасет представляет собой набор файлов организованный следующим образом:

* `dataset` - базовая папка (уже существует в проекте)
* `dataset` - базовая папка (будет создана автоматически как и всё ниже)
* `measurement_variant_1` - Вариант настройки измерителя (определённая частота, напряжение и т.д.)
* `X` - папка относящаяся к конкретному классу (Описание классов в предыдущем разделе)
* `X` - папка относящаяся к конкретному классу (либо файлы без этой подпапки \[в разработке\]) (описание классов в предыдущем разделе)
* `N.cir` - файл схемы с определенными параметрами
* `N.png` - ВАХ схемы, с указанием параметров измерения и класса схемы
* `N.uzf` - EPCore формат хранящий настройки измерения и кривую ВАХ
* `N2.cir` - другие параметры элементов в схеме того же класса с теми же настройками измерителя
* `X_params_N.png` - ВАХ схемы, с указанием параметров измерения и класса схемы
* `X_params_N.uzf` - EPCore формат хранящий настройки измерения и кривую ВАХ
* в это же папке другие параметры той же цепи, с другой N

### 3.2 Создание датасета

* Активировать виртуальное окружение (с установленными `requirements.dev`)

* Из корня проекта в консоли запустить модуль:
* Из под виртуального окружения в корне проекта в консоли запустить модуль:

```commandline
python -m generate_dataset --image
Expand Down Expand Up @@ -44,7 +42,7 @@

Берутся все классы схем и все настройки измерений.

Для каждого класса `ParametersChanger` определяет какие элементы существуют в этой схеме и в каких интервалах их нужно перебрать. Генерируются все возможные комбинации параметров элементов (например если два резистора по 10 точек, то это 100 сочетаний) и записываются в `changer.circuits`
Для каждого класса `ParametersChanger` определяет какие элементы существуют в этой схеме и в каких интервалах их нужно перебрать. Генерируются все возможные комбинации параметров элементов (например если два резистора по 10 вариантов сопротивлений, то это 100 сочетаний) и записываются в `changer.circuits`

После чего с помощью `changer.dump_circuits_on_disk()` все комбинации параметров сохраняются на диск в виде новых `.cir`-файлов в папку датасета.

Expand Down
2 changes: 1 addition & 1 deletion generate_dataset/parameters_changer.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ def generate_circuits(self, debug) -> None:
circuit = self._params_combination_to_circuit(params_combination)
if not debug:
self.circuits.append(circuit)
else:
else: # Debug filter - select only cooper plate parameters
if circuit.plot_title == 'Class: [DC]\nD_1N4148_1(Tnom=26.85)\nC1(10N)':
self.circuits.append(circuit)
if circuit.plot_title == 'Class: [DC(D_R)]\nR1(1K)\nD_1N4148_2' \
Expand Down

0 comments on commit caab74f

Please sign in to comment.