python相关

安装tf 1.x

pip没有办法安装了,因为pypi官方已经把1.x给删除了,没有源了,考虑conda安装


安装miniconda
curl https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -o Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
安装 tf1.15
conda create -n tf1.15 python=3.6
conda activate tf1.15
conda install tensorflow==1.15

conda list env
(base) D.Gen|icefire|2023-08-04 10:47:54[ice@ ~]conda env list
 conda environments:

base                  *  /mast/opt/miniconda3
tf1.15                   /mast/opt/miniconda3/envs/tf1.15

简单训练cifar10
https://github.com/leimao/Convolutional_Neural_Network_CIFAR10/tree/master
六道口

virtualenv方法

virtualenv --python=/usr/bin/python /mast/pyvenv/tf2-local
. /mast/pyvenv/tf2-local/bin/activate

inspect stack

class A:
    def f(self):
        self.g()

    @classmethod
    def g(cls):
        A.h()

    @staticmethod
    def h():
        import inspect
        current_stack = inspect.stack()
        stack_info = []
        for idx, frame_info in enumerate(current_stack):
            frame = frame_info.frame
            func_name = frame_info.function
            class_name = None
            if "self" in frame.f_locals:
                class_name = type(frame.f_locals["self"]).__name__
            elif "cls" in frame.f_locals:
                class_name = frame.f_locals["cls"].__name__
            else:
                code = frame.f_code
                if hasattr(code, 'co_qualname'):
                    qualname = code.co_qualname
                    print(f"qualname:{qualname}")
                    if "." in qualname:
                        class_name = frame.f_code.co_qualname.rsplit('.', 1)[0]
            if class_name:
                method_name = f"{class_name}::{func_name}"
            else:
                method_name = func_name
            stack_info.append(
                f"{idx},{frame_info.filename}:{frame_info.lineno}:{method_name}")
        stack_str = "\n ".join(stack_info)
        print(stack_str)

a1 = A()
a1.f()

pudb

        # like_debug {
        import os
        import json
        env_file = os.getenv("debug_env_file", "/share_data/users/like/ipc.json")
        env_data = dict()
        if os.path.exists(env_file):
            with open(env_file) as ifp:
                env_data = json.load(ifp)
        if env_data.get('debug_pudb', 0) == 1:
            from pudb.remote import set_trace
            set_trace(term_size=(229, 62), port=env_data.get('debug_pudb_port', 5090))
        if env_data.get('debug_log', 0) == 1:
            import inspect
            current_stack = inspect.stack()
            stack_info = []
            for idx, frame_info in enumerate(current_stack):
                frame = frame_info.frame
                func_name = frame_info.function
                class_name = None
                if "self" in frame.f_locals:
                    class_name = type(frame.f_locals["self"]).__name__
                elif "cls" in frame.f_locals:
                    class_name = frame.f_locals["cls"].__name__
                else:
                    code = frame.f_code
                    if hasattr(code, 'co_qualname'):
                        qualname = code.co_qualname
                        #print(f"qualname:{qualname}")
                        if "." in qualname:
                            class_name = frame.f_code.co_qualname.rsplit('.', 1)[0]
                if class_name:
                    method_name = f"{class_name}::{func_name}"
                else:
                    method_name = func_name
                stack_info.append(
                    f"{idx},{frame_info.filename}:{frame_info.lineno}:{method_name}")
            stack_str = "| ".join(stack_info)
            log_str = f" stack_str:{stack_str}"
            logger.info(log_str.replace("\n", " "))
        # like_debug }

Leave a Comment