- orginal data:label.csv ./data
- data for yolo: ./datayolo ./yolodata
- data for CRNN: ./dataCRNN ./CRNN/lmdb*-->data turned into lmdb
- using ./utils to generate the dataset for the two
according to official github
- yolo:./weights/yolov5_best.pth
- CRNN:./CRNN/expr2/best.pth
./demo.py
- input path: ./data1/
- ouput csv: ./result.csv
-
Usage:
python generate_labels.py -d <path> -s <path> -f <format> -
Options:
-d, --data_pathSpecifies the path where the data is stored.-s, --save_pathSpecifies the path where the output will be saved.-f, --formatSpecifies the file format to process, supported formats: {bench, aig}. -
Note: Files in .aiger format must be converted to .aig format before use.
Conversion command example:
for file in *.aiger; do mv -- "$file" "${file%.aiger}.aig"; done
python generate_labels.py -d ~/AIGDataset/all_case/aig -s ~/AIGDataset/all_case -f aig
Explanation: This command reads all files in ~/AIGDataset/all_case/aig(including all corresponding files in subdirectories, e.g., ~/AIGDataset/all_case/aig[/a/b/xxx.aig])and saves the results in corresponding subdirectories, e.g., ~/AIGDataset/all_case[/a/b/xxx/counting_simplify_PO/]. Meanwhile, an abc.log file will be created in the specified save_path to record the output logs of abc.
In the counting_simplify_PO directory, the following files will be generated:
.
├── signed_edge.csv
├── node-type.csv
└── label.csv
- signed_edge.csv: Each row represents
<start_id>, <end_id>, {1,-1}, where1indicates an edge without a not, and-1indicates an edge with a not. - node-type.csv: The rows are ordered by node IDs. Each row indicates the type of the node, where
0represents a primary input (PI), and1represents an AND gate. - label.csv: The first row indicates
<number of FA>, <number of HA>(FA: Full Adder, HA: Half Adder). Subsequent rows, ordered by node IDs, indicate whether the corresponding node is<FAin>, <FAout>, <HAin>, <HAout>, represented as boolean values.