TypeError default_name type type list is not a string type

解决TensorFlow1.15类型错误
部署运行你感兴趣的模型镜像

最近使用Tensorflow 1.15版本跑老版本的代码时,报错如下:

TypeError: `default_name` type (<type 'list'>) is not a string type.

经过查找,git issues解决方案是:

Using the TensorFlow documentation for tf.name_scope, I resolved the issue by prepending [x] with values=. That is change with tf.name_scope(“Encoder_resnet”, [x]): to with tf.name_scope(“Encoder_resnet”, values=[x]):. This error also occurs in a few places over in batch_lbs.py which I fixed in the same way.

就是多加一个 values= 就可以了

您可能感兴趣的与本文相关的镜像

TensorFlow-v2.15

TensorFlow-v2.15

TensorFlow

TensorFlow 是由Google Brain 团队开发的开源机器学习框架,广泛应用于深度学习研究和生产环境。 它提供了一个灵活的平台,用于构建和训练各种机器学习模型

修改:;from enum import Enum import sys import logging from pathlib import Path # 设置日志 logger = logging.getLogger(__name__) # 添加项目根目录到 Python 路径,确保从core 模块可以正确导入 project_root = Path(__file__).parent.parent if str(project_root) not in sys.path: sys.path.insert(0, str(project_root)) # 使用安全的导入方�? try: from core.ui_config import UI_CONFIG UI_CONFIG_AVAILABLE = True logger.info("成功导入 UI_CONFIG") except ImportError as import_error: # 提供回退实现 logger.warning(f"无法导入 UI_CONFIG: {import_error}, 使用回退实现") UI_CONFIG_AVAILABLE = False # 回退�?UI 配置 class UIConfig: """回退�?UI 配置""" theme = "default" language = "zh_CN" font_size = 12 font_family = "Microsoft YaHei" @classmethod def get(cls, key, default=None): return getattr(cls, key, default) UI_CONFIG = UIConfig() class EventType(Enum): """系统所有事件类型的统一枚举定义(整合版�?"" # ========== 系统级事�?========== SYSTEM_STARTUP = "system_startup" SYSTEM_SHUTDOWN = "system_shutdown" MODULE_READY = "module_ready" MODULE_CLEAR = "module_clear" MODULE_REFRESH = "module_refresh" MODULE_SWITCH = "module_switch" ERROR = "error" TEST_EVENT = "test_event" # ========== 模块控制事件 ========== MODULE_RUN = "module_run" MODULE_COMPLETE = "module_complete" MODULE_SAVE = "module_save" MODULE_RESULT = "module_result" # ========== 数据处理事件 ========== DATA_SUBMIT = "data_submit" DATA_UPDATE = "data_update" DATA_FREEZE = "data_freeze" DATA_ORGANIZE = "data_organize" DATA_RESULT = "data_result" # ========== 分析结果事件 ========== ANALYSIS_RESULT = "analysis_result" INPUT_ANALYSIS_START = "input_analysis_start" INPUT_ANALYSIS_END = "input_analysis_end" COMBINATION_ANALYSIS_START = "combination_analysis_start" COMBINATION_ANALYSIS_END = "combination_analysis_end" COMBINATION_RESULT = "combination_result" FOLLOW_ANALYSIS_START = "follow_analysis_start" FOLLOW_ANALYSIS_END = "follow_analysis_end" FOLLOW_ANALYSIS_UPDATE = "follow_analysis_update" TREND_ANALYSIS_START = "trend_analysis_start" TREND_ANALYSIS_END = "trend_analysis_end" TREND_ANALYSIS_RESULT = "trend_analysis_result" NUMBER_GENERATION_START = "number_generation_start" NUMBER_GENERATION_FINISH = "number_generation_finish" NUMBER_GENERATION_RESULT = "number_generation_result" # ========== UI相关事件 ========== UI_UPDATE = "ui_update" DIALOG_OPEN = "dialog_open" DIALOG_CLOSE = "dialog_close" REGISTER_UI = "register_ui" GET_RESULTS = "get_results" # ========== 状态事�?========== LOADING_PROGRESS = "loading_progress" LOADING_COMPLETE = "loading_complete" # ========== 特定功能事件 ========== EXCLUDE_NUMBERS = "exclude_numbers" POOL_UPDATE = "pool_update" NUMBER_UPDATE = "number_update" # ========== 模块标识事件 ========== INPUT_MODULE = "input_module" COMBINATION_MODULE = "combination_module" FOLLOW_MODULE = "follow_module" TREND_MODULE = "trend_module" GENERATION_MODULE = "generation_module" # ========== 测试事件 ========== DEMO_EVENT = "demo_event" @classmethod def get_value(cls, event_type_obj): """获取事件类型的字符串"" if isinstance(event_type_obj, cls): return event_type_obj.value return event_type_obj @classmethod def from_string(cls, value): """从字符串获取事件类型枚举""" try: # 通过值查找枚举成�? for member in cls: if member.value == value: return member raise KeyError(f"未知的事件类型�? {value}") except KeyError: raise ValueError(f"未知的事件类�? {value}") @classmethod def validate_event_type(cls, event_type_string): """验证事件类型字符串是否有�?"" try: # 检查字符串值是否存在于枚举�? for member in cls: if member.value == event_type_string: return True return False except (KeyError, TypeError): return False @classmethod def validate_and_raise(cls, event_type_string): """验证事件类型并在无效时抛出异�?"" if not cls.validate_event_type(event_type_string): raise ValueError(f'无效事件类型: {event_type_string}') return True @classmethod def get_all_values(cls): """获取所有事件类型的字符串值列�?"" return [e.value for e in cls] # 返回字符串值列�? @classmethod def is_valid_event_type(cls, value): """检查是否为有效的事件类�?"" try: if isinstance(value, cls): return True # 检查字符串值是否存在于枚举�? for member in cls: if member.value == value: return True return False except (KeyError, TypeError): return False @classmethod def get_name_from_value(cls, value): """从字符串值获取事件类型名�?"" for member in cls: if member.value == value: return member.name return None # 便捷函数 def create_event_type_map(): """创建事件类型到字符串值的映射""" return {event_type.name: event_type.value for event_type in EventType} def validate_event_type_string(event_type_string): """验证事件类型字符串的便捷函数""" return EventType.validate_event_type(event_type_string) def validate_event_type_string_with_raise(event_type_string): """验证事件类型字符串并在无效时抛出异常的便捷函�?"" return EventType.validate_and_raise(event_type_string) # 测试代码 if __name__ == "__main__": # 设置日志 logging.basicConfig(level=logging.INFO) # 测试事件类型功能 print("所有事件类�?") for event_type in EventType: print(f" {event_type.name} = {event_type.value}") print(f"\n事件类型数量: {len(EventType)}") # 测试便捷方法 test_event = EventType.TEST_EVENT print(f"\n测试事件: {test_event.name}, �? {test_event.value}") # 测试从字符串获取 try: from_string_result = EventType.from_string("test_event") print(f"从字符串获取: {from_string_result} (名称: {from_string_result.name}, �? {from_string_result.value})") except ValueError as error: print(f"从字符串获取失败: {error}") # 测试有效性检�? test_string = "test_event" print(f"是否为有效事件类�?'{test_string}': {EventType.is_valid_event_type(test_string)}") unknown_string = "UNKNOWN_EVENT" print(f"是否为有效事件类�?'{unknown_string}': {EventType.is_valid_event_type(unknown_string)}") print(f"是否为有效事件类型枚举对�? {EventType.is_valid_event_type(EventType.TEST_EVENT)}") # 测试验证函数 print(f"\n验证函数测试:") print(f"验证 '{test_string}': {validate_event_type_string(test_string)}") print(f"验证 '{unknown_string}': {validate_event_type_string(unknown_string)}") # 测试带异常抛出的验证 try: validate_event_type_string_with_raise(test_string) print(f"验证 '{test_string}' (带异�?: 成功") except ValueError as validation_error: print(f"验证 '{test_string}' (带异�?: 失败 - {validation_error}") try: validate_event_type_string_with_raise(unknown_string) print(f"验证 '{unknown_string}' (带异�?: 成功") except ValueError as validation_error: print(f"验证 '{unknown_string}' (带异�?: 失败 - {validation_error}") # 测试获取所有�? print(f"\n所有事件�? {EventType.get_all_values()}") # 测试名称到值的映射 print(f"\n名称到值映射示�? {create_event_type_map()['TEST_EVENT']}") __all__ = ['EventType', 'UI_CONFIG', 'create_event_type_map', 'validate_event_type_string', 'validate_event_type_string_with_raise']
09-18
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值