<｜begin▁of▁sentence｜>### Instruction:
Given a fast_gnp_random_graph with 100 nodes and a probability of edge creation of 0.5, how can you use the Node2Vec model to generate embeddings for each node, considering the Node2Vec parameters such as number of random walks, walk length, return and in-out parameters, and so on?
### Response:
import networkx as nx
from karateclub import Node2Vec

# Create a graph
G = nx.fast_gnp_random_graph(100, 0.5)

# Initialize Node2Vec model
node2vec = Node2Vec(walk_number=10, 
                    walk_length=80, 
                    p=0.5, 
                    q=2, 
                    dimensions=128, 
                    workers=4, 
                    window_size=5, 
                    epochs=1, 
                    learning_rate=0.05, 
                    min_count=1, 
                    seed=42)

# Fit the model
node2vec.fit(G)

# Get the embedding
embedding = node2vec.get_embedding()

print(embedding)
<|EOT|>
