安装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 }