update python version to 3.8

This commit is contained in:
simson 2020-12-04 10:51:01 +08:00
parent 3945bdcabb
commit f1e05c5fc4
5 changed files with 92 additions and 59 deletions

View File

@ -1,70 +1,73 @@
## define customized find fucntions, print customized error messages ## define customized find fucntions, print customized error messages
function(find_required_package pkg_name) function(find_required_package pkg_name)
find_package(${pkg_name}) find_package(${pkg_name})
if (NOT ${pkg_name}_FOUND) if(NOT ${pkg_name}_FOUND)
message(FATAL_ERROR "Required package ${pkg_name} not found, please install the package and try building MindSpore again.") message(FATAL_ERROR "Required package ${pkg_name} not found, "
"please install the package and try building MindSpore again.")
endif() endif()
endfunction() endfunction()
function(find_required_program prog_name) function(find_required_program prog_name)
find_program(${prog_name}_EXE ${prog_name}) find_program(${prog_name}_EXE ${prog_name})
if (NOT ${prog_name}_EXE) if(NOT ${prog_name}_EXE)
message(FATAL_ERROR "Required program ${prog_name} not found, please install the package and try building MindSpore again.") message(FATAL_ERROR "Required program ${prog_name} not found, "
endif () "please install the package and try building MindSpore again.")
endif()
endfunction() endfunction()
## find python, quit if the found python is static ## find python, quit if the found python is static
set(Python3_USE_STATIC_LIBS FALSE) set(Python3_USE_STATIC_LIBS FALSE)
find_package(Python3 COMPONENTS Interpreter Development) find_package(Python3 COMPONENTS Interpreter Development)
if (Python3_FOUND) if(Python3_FOUND)
message("Python3 found, version: ${Python3_VERSION}") message("Python3 found, version: ${Python3_VERSION}")
message("Python3 library path: ${Python3_LIBRARY}") message("Python3 library path: ${Python3_LIBRARY}")
message("Python3 interpreter: ${Python3_EXECUTABLE}") message("Python3 interpreter: ${Python3_EXECUTABLE}")
elseif (Python3_LIBRARY AND Python3_EXECUTABLE AND elseif(Python3_LIBRARY AND Python3_EXECUTABLE AND
${Python3_VERSION} VERSION_GREATER_EQUAL "3.7.0" AND ${Python3_VERSION} VERSION_LESS "3.8.0") ${Python3_VERSION} VERSION_GREATER_EQUAL "3.7.0" AND ${Python3_VERSION} VERSION_LESS "3.8.9")
message(WARNING "Maybe python3 environment is broken.") message(WARNING "Maybe python3 environment is broken.")
message("Python3 library path: ${Python3_LIBRARY}") message("Python3 library path: ${Python3_LIBRARY}")
message("Python3 interpreter: ${Python3_EXECUTABLE}") message("Python3 interpreter: ${Python3_EXECUTABLE}")
else () else()
message(FATAL_ERROR "Python3 not found, please install Python>=3.7.5, and set --enable-shared " message(FATAL_ERROR "Python3 not found, please install Python>=3.7.5, and set --enable-shared "
"if you are building Python locally") "if you are building Python locally")
endif () endif()
## packages used both on windows and linux ## packages used both on windows and linux
if (DEFINED ENV{MS_PATCH_PATH}) if(DEFINED ENV{MS_PATCH_PATH})
find_program(Patch_EXECUTABLE patch PATHS $ENV{MS_PATCH_PATH}) find_program(Patch_EXECUTABLE patch PATHS $ENV{MS_PATCH_PATH})
set(Patch_FOUND ${Patch_EXECUTABLE}) set(Patch_FOUND ${Patch_EXECUTABLE})
else () else()
find_package(Patch) find_package(Patch)
endif () endif()
if (NOT Patch_FOUND) if(NOT Patch_FOUND)
message(FATAL_ERROR "Patch not found, please set environment variable MS_PATCH_PATH to path where Patch is located, " message(FATAL_ERROR "Patch not found, "
"please set environment variable MS_PATCH_PATH to path where Patch is located, "
"usually found in GIT_PATH/usr/bin on Windows") "usually found in GIT_PATH/usr/bin on Windows")
endif () endif()
message(PATCH_EXECUTABLE = ${Patch_EXECUTABLE}) message(PATCH_EXECUTABLE = ${Patch_EXECUTABLE})
find_required_package(Threads) find_required_package(Threads)
## packages used on Linux ## packages used on Linux
if (NOT CMAKE_SYSTEM_NAME MATCHES "Windows") if(NOT CMAKE_SYSTEM_NAME MATCHES "Windows")
if (ENABLE_MINDDATA) if(ENABLE_MINDDATA)
find_required_program(tclsh) find_required_program(tclsh)
endif () endif()
if (MS_BUILD_GRPC) if(MS_BUILD_GRPC)
find_required_package(OpenSSL) find_required_package(OpenSSL)
endif () endif()
## packages used in GPU mode only ## packages used in GPU mode only
if (ENABLE_GPU) if(ENABLE_GPU)
find_library(gmp_LIB gmp) find_library(gmp_LIB gmp)
find_library(gmpxx_LIB gmpxx) find_library(gmpxx_LIB gmpxx)
find_file(gmp_HEADER gmp.h) find_file(gmp_HEADER gmp.h)
if (NOT gmp_LIB OR NOT gmpxx_LIB OR NOT gmp_HEADER) if(NOT gmp_LIB OR NOT gmpxx_LIB OR NOT gmp_HEADER)
message(FATAL_ERROR "Required package gmp not found, please install gmp and try building MindSpore again.") message(FATAL_ERROR "Required package gmp not found, please install gmp and try building MindSpore again.")
endif () endif()
find_required_program(automake) find_required_program(automake)
find_required_program(autoconf) find_required_program(autoconf)
find_required_program(libtoolize) find_required_program(libtoolize)

View File

@ -1,10 +1,28 @@
if (ENABLE_GITEE) set(PYTHON_VERSION ${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR})
set(REQ_URL "https://gitee.com/mirrors/pybind11/repository/archive/v2.4.3.tar.gz")
set(MD5 "b473a37987ce456ea8cc7aab3f9486f9") if(ENABLE_GITEE)
if(PYTHON_VERSION MATCHES "3.8")
set(REQ_URL "https://gitee.com/mirrors/pybind11/repository/archive/v2.6.1.tar.gz")
set(MD5 "dcbb02cc2da9653ec91860bb0594c91d")
elseif(PYTHON_VERSION MATCHES "3.7")
set(REQ_URL "https://gitee.com/mirrors/pybind11/repository/archive/v2.4.3.tar.gz")
set(MD5 "b473a37987ce456ea8cc7aab3f9486f9")
else()
message("Could not find 'Python 3.8' or 'Python 3.7'")
return()
endif()
else() else()
set(REQ_URL "https://github.com/pybind/pybind11/archive/v2.4.3.tar.gz") if(PYTHON_VERSION MATCHES "3.8")
set(MD5 "62254c40f89925bb894be421fe4cdef2") set(REQ_URL "https://github.com/pybind/pybind11/archive/v2.6.1.tar.gz")
endif () set(MD5 "32a7811f3db423df4ebfc731a28e5901")
elseif(PYTHON_VERSION MATCHES "3.7")
set(REQ_URL "https://github.com/pybind/pybind11/archive/v2.4.3.tar.gz")
set(MD5 "62254c40f89925bb894be421fe4cdef2")
else()
message("Could not find 'Python 3.8' or 'Python 3.7'")
return()
endif()
endif()
set(pybind11_CXXFLAGS "-D_FORTIFY_SOURCE=2 -O2") set(pybind11_CXXFLAGS "-D_FORTIFY_SOURCE=2 -O2")
set(pybind11_CFLAGS "-D_FORTIFY_SOURCE=2 -O2") set(pybind11_CFLAGS "-D_FORTIFY_SOURCE=2 -O2")
mindspore_add_pkg(pybind11 mindspore_add_pkg(pybind11

View File

@ -1,21 +1,21 @@
# find exec # find exec
find_package(Python3 3.7 COMPONENTS Interpreter) find_package(Python3 3.7 COMPONENTS Interpreter)
if (NOT Python3_FOUND) if(NOT Python3_FOUND)
message(FATAL_ERROR "No python3 found.") message(FATAL_ERROR "No python3 found.")
endif () endif()
set(PYTHON ${Python3_EXECUTABLE}) set(PYTHON ${Python3_EXECUTABLE})
set(PYTHON_VERSION ${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR}) set(PYTHON_VERSION ${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR})
if (NOT PYTHON_VERSION MATCHES "3.7") if(NOT (PYTHON_VERSION MATCHES "3.8" OR PYTHON_VERSION MATCHES "3.7"))
message(FATAL_ERROR "FIND PYTHON VERSION ${PYTHON_VERSION} BUT CAN NOT MATCH PYTHON VERSION 3.7") message(FATAL_ERROR "FIND PYTHON VERSION ${PYTHON_VERSION} BUT CAN NOT MATCH PYTHON VERSION 3.8 OR 3.7")
endif () endif()
find_package(Git) find_package(Git)
if (NOT GIT_FOUND) if(NOT GIT_FOUND)
message("No git found.") message("No git found.")
return () return()
endif () endif()
set(GIT ${GIT_EXECUTABLE}) set(GIT ${GIT_EXECUTABLE})
# set path # set path
@ -23,33 +23,39 @@ set(MS_ROOT_DIR ${CPACK_PACKAGE_DIRECTORY}/../../)
set(MS_PACK_ROOT_DIR ${MS_ROOT_DIR}/build/package) set(MS_PACK_ROOT_DIR ${MS_ROOT_DIR}/build/package)
# set package file name # set package file name
if (CMAKE_SYSTEM_NAME MATCHES "Linux") if(CMAKE_SYSTEM_NAME MATCHES "Linux")
if (PYTHON_VERSION MATCHES "3.7") if(PYTHON_VERSION MATCHES "3.8")
set(PY_TAGS "cp38-cp38")
elseif(PYTHON_VERSION MATCHES "3.7")
set(PY_TAGS "cp37-cp37m") set(PY_TAGS "cp37-cp37m")
else () else()
message("Could not find 'Python 3.7'") message("Could not find 'Python 3.8' or 'Python 3.7'")
return() return()
endif () endif()
string(TOLOWER linux_${CMAKE_HOST_SYSTEM_PROCESSOR} PLATFORM_TAG) string(TOLOWER linux_${CMAKE_HOST_SYSTEM_PROCESSOR} PLATFORM_TAG)
elseif (CMAKE_SYSTEM_NAME MATCHES "Darwin") elseif(CMAKE_SYSTEM_NAME MATCHES "Darwin")
if (PYTHON_VERSION MATCHES "3.7") if(PYTHON_VERSION MATCHES "3.8")
set(PY_TAGS "py38-none")
elseif(PYTHON_VERSION MATCHES "3.7")
set(PY_TAGS "py37-none") set(PY_TAGS "py37-none")
else () else()
message("Could not find 'Python 3.7'") message("Could not find 'Python 3.8' or 'Python 3.7'")
return() return()
endif () endif()
set(PLATFORM_TAG "any") set(PLATFORM_TAG "any")
elseif (CMAKE_SYSTEM_NAME MATCHES "Windows") elseif(CMAKE_SYSTEM_NAME MATCHES "Windows")
if (PYTHON_VERSION MATCHES "3.7") if(PYTHON_VERSION MATCHES "3.8")
set(PY_TAGS "cp38-cp38")
elseif(PYTHON_VERSION MATCHES "3.7")
set(PY_TAGS "cp37-cp37m") set(PY_TAGS "cp37-cp37m")
else () else()
message("Could not find 'Python 3.7'") message("Could not find 'Python 3.8' or 'Python 3.7'")
return() return()
endif () endif()
set(PLATFORM_TAG "win_amd64") set(PLATFORM_TAG "win_amd64")
else () else()
message(FATAL_ERROR "other platform: ${CMAKE_SYSTEM_NAME}") message(FATAL_ERROR "other platform: ${CMAKE_SYSTEM_NAME}")
endif () endif()
# get git commit id # get git commit id
set(GIT_COMMIT_ID "") set(GIT_COMMIT_ID "")
@ -72,13 +78,13 @@ execute_process(
# finally # finally
set(PACKAGE_NAME ${CPACK_MS_PACKAGE_NAME}) set(PACKAGE_NAME ${CPACK_MS_PACKAGE_NAME})
if (NOT CMAKE_SYSTEM_NAME MATCHES "Windows") if(NOT CMAKE_SYSTEM_NAME MATCHES "Windows")
string(REPLACE "-" "_" PACKAGE_NAME ${PACKAGE_NAME}) string(REPLACE "-" "_" PACKAGE_NAME ${PACKAGE_NAME})
execute_process( execute_process(
COMMAND chmod -R 700 ${MS_PACK_ROOT_DIR}/mindspore/ COMMAND chmod -R 700 ${MS_PACK_ROOT_DIR}/mindspore/
COMMAND chmod -R 700 ${MS_PACK_ROOT_DIR}/${PACKAGE_NAME}.egg-info/ COMMAND chmod -R 700 ${MS_PACK_ROOT_DIR}/${PACKAGE_NAME}.egg-info/
) )
endif () endif()
file(GLOB WHL_FILE ${MS_PACK_ROOT_DIR}/dist/*.whl) file(GLOB WHL_FILE ${MS_PACK_ROOT_DIR}/dist/*.whl)
get_filename_component(ORIGIN_FILE_NAME ${WHL_FILE} NAME) get_filename_component(ORIGIN_FILE_NAME ${WHL_FILE} NAME)

View File

@ -16,6 +16,7 @@
"""Parameter for cell.""" """Parameter for cell."""
from copy import copy from copy import copy
import numbers import numbers
import numpy as np
from .._c_expression import ParamInfo from .._c_expression import ParamInfo
from . import dtype as mstype from . import dtype as mstype
from .initializer import initializer from .initializer import initializer
@ -154,12 +155,17 @@ class Parameter(Tensor_):
self._cast_type = None self._cast_type = None
self._unique = False self._unique = False
self.is_in_parallel = _is_in_parallel_mode() self.is_in_parallel = _is_in_parallel_mode()
if isinstance(default_input, Tensor): if isinstance(default_input, (Tensor_, Tensor)):
Tensor_.__init__(self, default_input.dtype, default_input.shape) Tensor_.__init__(self, default_input.dtype, default_input.shape)
elif isinstance(default_input, int): elif isinstance(default_input, int):
Tensor_.__init__(self, mstype.int64, ()) Tensor_.__init__(self, mstype.int64, ())
elif isinstance(default_input, float): elif isinstance(default_input, float):
Tensor_.__init__(self, mstype.float32, ()) Tensor_.__init__(self, mstype.float32, ())
elif isinstance(default_input, np.ndarray):
Tensor_.__init__(self, default_input)
else:
raise TypeError(f"Parameter input must be [`Tensor`, `Number`]."
f"But with type {type(default_input)}.")
def __deepcopy__(self, memodict): def __deepcopy__(self, memodict):
new_obj = Parameter(self) new_obj = Parameter(self)

View File

@ -395,7 +395,7 @@ def _clear_handler(logger):
logger.removeHandler(handler) logger.removeHandler(handler)
def _find_caller(stack_info=False): def _find_caller(stack_info=False, stacklevel=1):
""" """
Find the stack frame of the caller. Find the stack frame of the caller.