in src/helperscripts/neuronsetuphelper.py [0:0]
def hlpr_instructions(nr_setup, neuron_version):
cmd_string = ''
setup_mode=nr_setup.mode
# look for conda environment for this framework version
for fw_env in nr_setup.dlami_conda_env:
if fw_env != nr_setup.framework:
continue
fw_ver_conda_env=nr_setup.dlami_conda_env[fw_env]
for conda_env_fw_ver in fw_ver_conda_env:
if (conda_env_fw_ver == nr_setup.fw_package_dict[nr_setup.fw_comp]['framework_version']):
nr_setup.conda_env=nr_setup.dlami_conda_env[fw_env][conda_env_fw_ver][0]
nr_setup.generic_conda_env=nr_setup.dlami_conda_env[fw_env][conda_env_fw_ver][1]
break
# look what runtime works with this framework version
fal_rtd=False
fal_libnrt=False
for fw in nr_setup.fal_supported_runtime:
if fw != nr_setup.framework:
continue
if fw == nr_setup.framework:
if (nr_setup.framework_version == None):
fw_ver= nr_setup.releases_info[neuron_version].release_frameworks_main[nr_setup.framework]['framework_version']
fal_version= nr_setup.releases_info[neuron_version].release_frameworks_main[nr_setup.framework]['version']
else:
fw_ver= nr_setup.releases_info[neuron_version].release_frameworks_all[nr_setup.framework_version]['framework_version']
fal_version= nr_setup.releases_info[neuron_version].release_frameworks_all[nr_setup.framework_version]['version']
fal_supported_rtd=nr_setup.fal_supported_runtime[fw][fw_ver]['neuron-rtd']
fal_supported_libnrt=nr_setup.fal_supported_runtime[fw][fw_ver]['libnrt']
if (parse(fal_version) >= parse(fal_supported_rtd[0])) & \
(parse(fal_version) <= parse(fal_supported_rtd[1])):
fal_rtd=True
elif (parse(fal_version) >= parse(fal_supported_libnrt[0])) & \
(parse(fal_version) <= parse(fal_supported_libnrt[1])):
fal_libnrt=True
if nr_setup.conda_env == "None":
dlami_ev_exists=False
else:
dlami_ev_exists=True
#cmd_string += hlpr_print_config(nr_setup, neuron_version)
if (nr_setup.framework_version==None):
fw_package_dict= nr_setup.releases_info[neuron_version].release_frameworks_main
fw_comp=nr_setup.framework
else:
fw_package_dict= nr_setup.releases_info[neuron_version].release_frameworks_all
fw_comp=nr_setup.framework_version
if (nr_setup.framework !=None): #if install or update
# If we are not using DLAMI
if (nr_setup.ami=='non-dlami') | \
((nr_setup.ami=='dlami') & \
(
(nr_setup.action == 'Update') | \
(dlami_ev_exists==False) | \
(nr_setup.is_latest_neuron==False)) \
):
if (nr_setup.ami=='dlami') & (dlami_ev_exists==False):
cmd_string += '\n'
cmd_string += '# Note: There is no DLAMI Conda environment for this framework version'+ '\n'
cmd_string += '# Framework will be installed/updated inside a Python environment'+ '\n'
if (setup_mode == 'develop') | (setup_mode == 'deploy'):
if (nr_setup.action =='Install')&(nr_setup.ami!='dlami'):
# For First install, setup Neuron OS packagaes repo (yum or apt)
cmd_string += hlpr_os_packages_first_setup(nr_setup)
# Always update to latest OS packages
cmd_string += hlpr_os_packages_update(nr_setup)
cmd_string += hlpr_os_comp_setup_cmd(nr_setup, neuron_version, comp='driver',optional=False,pkg=None)
#FIXME Temporary check for MXNET 1.5 in maintenance mode
if (neuron_version == "1.16.0") & (nr_setup.framework=="mxnet")& \
(fw_package_dict[fw_comp]['framework_version']=="1.5.1"):
cmd_string += hlpr_os_comp_setup_cmd(nr_setup, neuron_version="1.15.2", comp='runtime-server',optional=False,pkg=None)
elif (fal_rtd):
cmd_string += hlpr_os_comp_setup_cmd(nr_setup, neuron_version, comp='runtime-server',optional=False,pkg=None)
#if mode = develop, install tools
if (setup_mode == 'develop'):
cmd_string += hlpr_os_comp_setup_cmd(nr_setup, neuron_version, comp='tools',optional=False,pkg=None)
if (nr_setup.framework == 'tensorflow'):
cmd_string += hlpr_build_pip_command(nr_setup, neuron_version, component='tensorboard',include_compiler=False,optional=False)
if (nr_setup.action =='Install'):
cmd_string += hlpr_os_export_path(nr_setup)
if (nr_setup.ami=='non-dlami') | \
((nr_setup.ami=='dlami')&(nr_setup.generic_conda_env=="None")):
if (nr_setup.action =='Install'):
# For first install , install python venv and activate a venv
cmd_string += hlpr_pip_install_create_python_venv(nr_setup)
elif (nr_setup.action =='Update'):
# For nect times, activate the venv used for initial install
cmd_string += hlpr_pip_activate_python_venv(nr_setup)
elif (nr_setup.ami=='dlami'):
cmd_string += hlpr_framework_dlami_activate(nr_setup)
# Setup Neuron pip packages
cmd_string += hlpr_pip_repos_setup()
# Now install framework
if (setup_mode == 'deploy'):
# do not install compiler when deploying
cmd_string += hlpr_framework_compiler_setup(nr_setup, neuron_version, include_compiler=False)
else:
# install compiler when mode = developer or mode = compile
cmd_string += hlpr_framework_compiler_setup(nr_setup, neuron_version, include_compiler=True)
#if mode = deploy, install model server
if (setup_mode != 'compile'):
if (nr_setup.framework == 'tensorflow'):
if (nr_setup.framework_version==None):
tf_package= nr_setup.releases_info[neuron_version].release_frameworks_main[nr_setup.framework]['package_name']
else:
tf_package= nr_setup.releases_info[neuron_version].release_frameworks_all[nr_setup.framework_version]['package_name']
cmd_string += hlpr_os_comp_setup_cmd(nr_setup, neuron_version, comp='tensorflow-model-server',optional=True,pkg= nr_setup.releases_info[neuron_version].release_tf_package_to_model_server_package[tf_package])
# if running DLAMI
elif (nr_setup.ami=='dlami'):
if (nr_setup.action =='Install'):
cmd_string += '\n'
cmd_string += '# Neuron is pre-installed on Deep Learning AMI (DLAMI), latest DLAMI version may not include latest Neuron versions '+ '\n'
cmd_string += '# To update to latest Neuron version, follow "Update to latest release" instruction on Neuron documentation'+ '\n'
# WARNING: Exception
# Starting Neuron 1.16.0 , new kernel is needed to work with Runtime 2.x (library mode)
if (parse(neuron_version)>=parse('1.16.0')):
if (setup_mode == 'develop') | (setup_mode == 'deploy'):
cmd_string += hlpr_os_comp_setup_cmd(nr_setup, neuron_version, comp='driver',optional=False,pkg=None)
#FIXME Temporary check for MXNET 1.5 in maintenance mode
if (neuron_version == "1.16.0") & (nr_setup.framework=="mxnet")& \
(fw_package_dict[fw_comp]['framework_version']=="1.5.1"):
cmd_string += hlpr_os_comp_setup_cmd(nr_setup, neuron_version="1.15.2", comp='runtime-server',optional=False,pkg=None)
cmd_string += '\n'
cmd_string += hlpr_framework_dlami_activate(nr_setup)
return cmd_string