dfx-nyuad / gnnunlock Goto Github PK
View Code? Open in Web Editor NEWLicense: GNU General Public License v3.0
License: GNU General Public License v3.0
(myenv) akashdeep@akashdeep-HP-Notebook:~/GNNUnlock-main/GraphSAINT$ python -m graphsaint.tensorflow_version.train --data_prefix ../Netlist_to_graph/Circuits_datasets/ANTI_SAT_DATASET_c7552/ --train_config ../DATE21.yml --gpu -1 > log_training.txt
/home/akashdeep/anaconda3/envs/myenv/lib/python3.6/site-packages/tensorflow/python/framework/dtypes.py:523: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_qint8 = np.dtype([("qint8", np.int8, 1)])
/home/akashdeep/anaconda3/envs/myenv/lib/python3.6/site-packages/tensorflow/python/framework/dtypes.py:524: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_quint8 = np.dtype([("quint8", np.uint8, 1)])
/home/akashdeep/anaconda3/envs/myenv/lib/python3.6/site-packages/tensorflow/python/framework/dtypes.py:525: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_qint16 = np.dtype([("qint16", np.int16, 1)])
/home/akashdeep/anaconda3/envs/myenv/lib/python3.6/site-packages/tensorflow/python/framework/dtypes.py:526: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_quint16 = np.dtype([("quint16", np.uint16, 1)])
/home/akashdeep/anaconda3/envs/myenv/lib/python3.6/site-packages/tensorflow/python/framework/dtypes.py:527: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
_np_qint32 = np.dtype([("qint32", np.int32, 1)])
/home/akashdeep/anaconda3/envs/myenv/lib/python3.6/site-packages/tensorflow/python/framework/dtypes.py:532: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
np_resource = np.dtype([("resource", np.ubyte, 1)])
Traceback (most recent call last):
File "/home/akashdeep/anaconda3/envs/myenv/lib/python3.6/runpy.py", line 193, in _run_module_as_main
"main", mod_spec)
File "/home/akashdeep/anaconda3/envs/myenv/lib/python3.6/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/home/akashdeep/GNNUnlock-main/GraphSAINT/graphsaint/tensorflow_version/train.py", line 244, in
tf.app.run(main=train_main)
File "/home/akashdeep/anaconda3/envs/myenv/lib/python3.6/site-packages/tensorflow/python/platform/app.py", line 125, in run
_sys.exit(main(argv))
File "/home/akashdeep/GNNUnlock-main/GraphSAINT/graphsaint/tensorflow_version/train.py", line 237, in train_main
train_params,train_phases,train_data,arch_gcn = parse_n_prepare(args_global)
File "/home/akashdeep/GNNUnlock-main/GraphSAINT/graphsaint/utils.py", line 137, in parse_n_prepare
train_data = process_graph_data(*temp_data)
File "/home/akashdeep/GNNUnlock-main/GraphSAINT/graphsaint/utils.py", line 92, in process_graph_data
class_arr[k][v-offset] = 1
IndexError: index 69468 is out of bounds for axis 0 with size 69468
Hello,
I have 2 questions:
the first one is on how can I try GNNUnlock on only one testbench like AntiSAT_c2670, for example ?
Is it even possible ?
the second is where can I find all the result of GNNUnlock on Anti-SAT ?
Thank you
Is DATE21.yml
posted anywhere, or a list of the hyperparameters you used?
I am running the "./Netlist_to_graph/Parsers/SFLL_Verilog_to_graph.pl" script for SFLL benchmarks and the program keeps on running for more than 20 hours and does not stop. Script to convert ANTISAT dataset to graph is working fine and It finishes within 10 minutes. Could you please resolve this issue?
I followed the steps mentioned in README.md
Steps I took to run are as follows:
When the circuit from Fig. 3b is parsed using SFLL_Verilog_to_graph.pl
, the feature vector does not match the one shown in DATE 2021.
The parser produces a feature vector with XOR = 6 for node i.
PI | PO | KEY | XOR | XNOR | AND | OR | NAND | NOR | INV | BUF | ADDF | AOI | OAI | MXIT | AO1B | AOI2XB | AO | OA | OAI2XB | in_degree | out_degree | TIELO | TIEHI | RF2R | RF1R | PREICG | POSTICG | M | A | FRICG | MXT | MX | ADDH |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | 0 | 6 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Furthermore, if the key inputs (k1, k2, k3) are changed to primary inputs, the XOR neighborhood count jumps to 9 for node i.
PI | PO | KEY | XOR | XNOR | AND | OR | NAND | NOR | INV | BUF | ADDF | AOI | OAI | MXIT | AO1B | AOI2XB | AO | OA | OAI2XB | in_degree | out_degree | TIELO | TIEHI | RF2R | RF1R | PREICG | POSTICG | M | A | FRICG | MXT | MX | ADDH |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | 0 | 9 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Although no neighborhood examples were provided in the paper, the feature vector is described as
the type and number of gates appearing in the neighborhood of the node (all nodes within two-hops away)
A true 2-hop neighborhood of an XOR node in this graph would include the other XOR nodes and we would expect the XOR count to be 3. However, the feature vector produced has XOR = 1, which is what we would expect if we were only limiting ourselves to the input and output cones.
PI | PO | KEY | XOR | XNOR | AND | OR | NAND | NOR | INV | BUF | ADDF | AOI | OAI | MXIT | AO1B | AOI2XB | AO | OA | OAI2XB | in_degree | out_degree | TIELO | TIEHI | RF2R | RF1R | PREICG | POSTICG | M | A | FRICG | MXT | MX | ADDH |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
This feature vector for an XOR node also shows PO = 1 which is incorrect.
unzip ~/Downloads/graph_example_from_paper.zip
mkdir -p ./Netlist_to_graph/Graphs_datasets/graph_example_from_paper/
cd ./Netlist_to_graph/Graphs_datasets/graph_example_from_paper/
perl ../../Parsers/SFLL_Verilog_to_graph.pl -i ../../../graph_example_from_paper > log.txt
I would like to know if it is possible to get the results as a graph as mentionned in your article or not ? Because I can not see the results when I follow the steps and run the codes.
Thank you
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.