class_docstr: Node embedding application.
  
  Given a graph, it embeds each node into a continuous vector representation.
  The learned embeddings can be used for many downstream tasks.
  e.g. **node classification**, **link prediction**, **node analogy**.
  The similarity between node embeddings can be measured by cosine distance.
  
  Supported Models:
      - DeepWalk (`DeepWalk: Online Learning of Social Representations`_)
      - LINE (`LINE: Large-scale Information Network Embedding`_)
      - node2vec (`node2vec: Scalable Feature Learning for Networks`_)
  
  .. _DeepWalk\: Online Learning of Social Representations:
      https://arxiv.org/pdf/1403.6652.pdf
  .. _LINE\: Large-scale Information Network Embedding:
      https://arxiv.org/pdf/1503.03578.pdf
  .. _node2vec\: Scalable Feature Learning for Networks:
      https://www.kdd.org/kdd2016/papers/files/rfp0218-groverA.pdf
  
  Parameters:
      dim (int): dimension of embeddings
      gpus (list of int, optional): GPU ids, default is all GPUs
      cpu_per_gpu (int, optional): number of CPU threads per GPU, default is all CPUs
      float_type (dtype, optional): type of parameters
      index_type (dtype, optional): type of graph indexes
  
  See also:
      :class:`Graph <graphvite.graph.Graph>`,
      :class:`GraphSolver <graphvite.solver.GraphSolver>`
class_docstr_tok: ["Node","embedding","application",".","Given","a","graph",",","it","embeds","each","node","into","a","continuous","vector","representation",".","The","learned","embeddings","can","be","used","for","many","downstream","tasks",".","e.g",".","*","*","node","classification","*","*",",","*","*","link","prediction","*","*",",","*","*","node","analogy","*","*",".","The","similarity","between","node","embeddings","can","be","measured","by","cosine","distance",".","Supported","Models",":","-","DeepWalk","(","`","DeepWalk",":","Online","Learning","of","Social","Representations","`","_",")","-","LINE","(","`","LINE",":","Large-scale","Information","Network","Embedding","`","_",")","-","node2vec","(","`","node2vec",":","Scalable","Feature","Learning","for","Networks","`","_",")","..","_DeepWalk\\",":","Online","Learning","of","Social","Representations",":","https",":","\/\/arxiv.org\/pdf\/1403.6652.pdf","..","_LINE\\",":","Large-scale","Information","Network","Embedding",":","https",":","\/\/arxiv.org\/pdf\/1503.03578.pdf","..","_node2vec\\",":","Scalable","Feature","Learning","for","Networks",":","https",":","\/\/www.kdd.org\/kdd2016\/papers\/files\/rfp0218-groverA.pdf","Parameters",":","dim","(","int",")",":","dimension","of","embeddings","gpus","(","list","of","int",",","optional",")",":","GPU","ids",",","default","is","all","GPUs","cpu_per_gpu","(","int",",","optional",")",":","number","of","CPU","threads","per","GPU",",","default","is","all","CPUs","float_type","(","dtype",",","optional",")",":","type","of","parameters","index_type","(","dtype",",","optional",")",":","type","of","graph","indexes","See","also",":",":","class",":","`","Graph","<","graphvite.graph.Graph",">","`",",",":","class",":","`","GraphSolver","<","graphvite.solver.GraphSolver",">","`"]
code: def get_solver(self, **kwargs):
      if self.cpu_per_gpu == auto:
          num_sampler_per_worker = auto
      else:
          num_sampler_per_worker = self.cpu_per_gpu - 1
      return solver.GraphSolver(
          self.dim,
          self.float_type,
          self.index_type,
          self.gpus,
          num_sampler_per_worker,
          self.gpu_memory_limit,
      )
  
imports: from __future__ import print_function, absolute_import, unicode_literals, division
  import os
  import re
  import pickle
  import logging
  import multiprocessing
  from collections import defaultdict
  from future.builtins import str, map, range
  from easydict import EasyDict
  import numpy
  from ..None import lib, cfg, auto
  from ..None import graph, solver
  from ..util import assert_in, monitor, SharedNDArray
label_desc: Use image node_id 2 for calling the GraphApplication obj's underlying member method code with example usage: obj.get_solver() and returns: solver