球鞋check_in

據說foursquare很流行.不過在64那天被墻了...窮人如我,沒玩過智能手機,但剛剛產生了個荒唐的想法...

起因
一哥們買了雙鞋,說有驗證碼可查...

想法:

然后我就想了...可不可以直接用驗證碼作為用戶名,然后與自己的郵箱綁定...然后在鞋子里加入一個check_in裝置,可用手機遠程操控...

例如:
fireflyman 穿著拖鞋在康帝大酒店門口撒了泡尿

這樣就可以跟蹤我的足跡,發現我曾經在哪里撒過尿...(這是娛樂)

說重點==>鞋子丟失了,這是很少見的...所以才怪...

假如我的鞋子丟失了,然后我利用check_in裝置是否可以找到它現在的蹤跡...延伸下去...(開始邪惡了)...假如我為我送給某人的東西里加入check_in裝置,是否可以....

只是胡思亂想,歡迎也來說說...

<图片1>
这样由于模型是一个2B小模型。所以有时候不能完全按照指定要求生成,是不是可以考虑加一个人工修正的后处理来解决这样的问题,比如有时候下半身会出现条纹裤这种未出现的类别,但是图片确实是条纹裤,但是这样我的分类模型没办法确定下来: import os # 设置环境变量避免内存碎片 os.environ["PYTORCH_CUDA_ALLOC_CONF"] = "expandable_segments:True" os.environ["CUDA_VISIBLE_DEVICES"] = "7" import json import re from modelscope import Qwen3VLForConditionalGeneration, AutoProcessor # 加载模型和处理器(只需一次) model = Qwen3VLForConditionalGeneration.from_pretrained( "./Qwen", dtype="auto", device_map="auto" ) processor = AutoProcessor.from_pretrained("./Qwen") # 定义提示词 text_prompt = """请严格按以下要求分析图像: 1. 识别图中所有行人(直立行走的人类个体) 2. 为每个行人分析以下属性(属性值必须严格使用指定选项): - 性别:男/女/未知 - 年龄段:婴儿(0-2)/儿童(3-12)/青少年(13-17)/成年(18-60)/老年(60+)/未知 - 相对身高:很高(>180cm)/高(170-180cm)/中等(160-170cm)/矮(150-160cm)/很矮(<150cm)/未知 - 体型:很胖/较胖/中等/较瘦/很瘦/未知 - 上半身衣物:长袖衬衫/短袖T恤/无袖背心/毛衣/外套/羽绒服/西装/未知 - 是否背包:双肩包/单肩包/手提包/腰包/无/未知 - 下半身衣物:长裤/短裤/七分裤/长裙/短裙/连衣裙/未知 - 上衣颜色:黑/白/灰/红/蓝/绿/黄/紫/橙/棕/粉/多色/未知 - 下衣颜色:黑/白/灰/红/蓝/绿/黄/紫/橙/棕/粉/多色/未知 - 类:运动/皮/靴子/凉/拖/高跟/帆布/未知 - 头部状态:戴帽子/戴头巾/带头盔/无覆盖物/未知 - 是否戴眼镜:有框眼镜/墨镜/无眼镜/未知 - 面部状态:戴口罩/未遮挡/部分遮挡/未知 - 发型:长发(过肩)/中发(及肩)/短发(耳上)/光头/未知 - 姿态:行走/站立/奔跑/蹲坐/未知 3. 输出要求: - 严格使用JSON格式 - 结构为对象数组(每个对象代表一个行人) - 属性名使用中文 - 无行人时返回空数组 - 禁止任何额外解释文字 示例输出格式: [ { "性别": "男", "年龄段": "成年", "相对身高": "中等", "体型": "中等", "上半身衣物": "短袖T恤", "是否背包": "无", "下半身衣物": "长裤", "上衣颜色": "白", "下衣颜色": "蓝", "类": "运动", "头部状态": "无覆盖物", "是否戴眼镜": "无眼镜", "面部状态": "未遮挡", "发型": "短发", "姿态": "行走" } ] """ # 配置路径 input_folder = "./query" # 输入图片文件夹 output_folder = "./results" # 输出JSON文件夹 # 支持的图片格式 SUPPORTED_EXTENSIONS = ['.jpg', '.jpeg', '.png', '.bmp', '.tiff', '.webp'] # 创建输出文件夹 os.makedirs(output_folder, exist_ok=True) def process_image(image_path): """处理单张图片并返回解析结果""" try: messages = [{ "role": "user", "content": [ {"type": "image", "image": image_path}, {"type": "text", "text": text_prompt} ] }] # 准备模型输入 inputs = processor.apply_chat_template( messages, tokenize=True, add_generation_prompt=True, return_dict=True, return_tensors="pt" ).to(model.device) # 生成输出 generated_ids = model.generate(**inputs, max_new_tokens=512) generated_ids_trimmed = [ out_ids[len(in_ids):] for in_ids, out_ids in zip(inputs.input_ids, generated_ids) ] output_text = processor.batch_decode( generated_ids_trimmed, skip_special_tokens=True, clean_up_tokenization_spaces=False )[0] # 尝试提取JSON json_match = re.search(r'\[.*\]', output_text, re.DOTALL) if json_match: json_str = json_match.group() result = json.loads(json_str) return True, result else: return False, output_text except Exception as e: return False, f"处理错误: {str(e)}" # 遍历并处理所有图片 print(f"开始处理文件夹: {input_folder}") processed_count = 0 success_count = 0 for filename in os.listdir(input_folder): # 检查文件扩展名 if any(filename.lower().endswith(ext) for ext in SUPPORTED_EXTENSIONS): image_path = os.path.join(input_folder, filename) print(f"\n处理中: {filename}...") # 处理图片 success, result = process_image(image_path) # 准备输出路径 json_filename = os.path.splitext(filename)[0] + ".json" output_path = os.path.join(output_folder, json_filename) if success: # 保存JSON结果 with open(output_path, 'w', encoding='utf-8') as f: json.dump(result, f, ensure_ascii=False, indent=2) print(f"✅ 成功保存结果到: {output_path}") success_count += 1 else: # 保存错误信息 error_path = os.path.join(output_folder, f"{os.path.splitext(filename)[0]}_error.txt") with open(error_path, 'w', encoding='utf-8') as f: f.write(f"处理失败:\n{result}") print(f"❌ 处理失败,错误信息保存到: {error_path}") processed_count += 1 print(f"\n处理完成! 总计处理: {processed_count} 张图片, 成功: {success_count} 张, 失败: {processed_count - success_count} 张")
12-03
using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; using System.Data.SqlClient; using System.Configuration; using System.Web.Services; using System.Web.Script.Services; namespace WebApplication1 { public partial class WebForm2 : System.Web.UI.Page { private readonly List<Product> _products = new List<Product> { new Product { Id = 1, Name = "专业减震跑步", Category = "运动", Price = 599, ImageUrl = "image/专业减震跑步.jpg", Brand = "耐克", Description = "专业级减震科技,适合长距离跑步" }, new Product { Id = 2, Name = "专业篮球鞋", Category = "运动", Price = 699, ImageUrl = "image/专业篮球鞋.jpg", Brand = "阿迪达斯", Description = "高帮支撑设计,保护脚踝" }, new Product { Id = 3, Name = "多功能运动背包", Category = "运动装备", Price = 299, ImageUrl = "image/多功能运动背包.jpg", Brand = "彪马" }, new Product { Id = 4, Name = "专业运动智能手表", Category = "运动配件", Price = 799, ImageUrl = "image/专业运动智能手表.jpg", Brand = "Apple" }, new Product { Id = 5, Name = "速干透气运动T恤", Category = "运动服饰", Price = 199, ImageUrl = "image/速干透气运动T恤.jpg", Brand = "耐克" }, new Product { Id = 6, Name = "弹性运动短裤", Category = "运动服饰", Price = 159, ImageUrl = "image/弹性运动短裤.jpg", Brand = "阿迪达斯" } }; // 用户实体类 public class User { } // 商品实体类 public class Product { public int Id { get; set; } public string Name { get; set; } public string Category { get; set; } public decimal Price { get; set; } public string ImageUrl { get; set; } public string Description { get; set; } public string Brand { get; set; } } public class CartItem { public int ProductId { get; set; } public string ProductName { get; set; } public decimal Price { get; set; } public int Quantity { get; set; } public string ImageUrl { get; set; } } protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { // 记录用户浏览记录(示例) if (Session["UserID"] != null) { int userId = Convert.ToInt32(Session["UserID"]); LogUserBrowse(userId, 1); // 假设浏览了商品ID=1 } } } private List<Product> GetRecommendedProducts() { List<Product> products = new List<Product>(); if (Session["UserID"] == null) return products; int userId = Convert.ToInt32(Session["UserID"]); string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString; // 读取配置 using (SqlConnection conn = new SqlConnection(connStr)) { conn.Open(); string sql = @"SELECT p.*, c.CategoryName, b.BrandName FROM tb_Product p JOIN tb_Category c ON p.CategoryID = c.CategoryID JOIN tb_Brand b ON p.BrandID = b.BrandID WHERE p.CategoryID IN ( SELECT DISTINCT CategoryID FROM tb_Product WHERE ProductID IN ( SELECT ProductID FROM tb_UserBrowse WHERE UserID=@UserID ) ) OR p.BrandID IN ( SELECT DISTINCT BrandID FROM tb_Product WHERE ProductID IN ( SELECT ProductID FROM tb_UserBrowse WHERE UserID=@UserID ) )"; using (SqlCommand cmd = new SqlCommand(sql, conn)) { cmd.Parameters.AddWithValue("@UserID", userId); using (SqlDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { // 填充 Product 对象... } } } } return products; } private void LogUserBrowse(int userId, int productId) { } } } 根据已有的前后端代码更新改善后端代码,给出完整的后端代码
06-11
【完美复现】面向配电网韧性提升的移动储能预布局与动态调度策略【IEEE33节点】(Matlab代码实现)内容概要:本文介绍了基于IEEE33节点的配电网韧性提升方法,重点研究了移动储能系统的预布局与动态调度策略。通过Matlab代码实现,提出了一种结合预配置和动态调度的两阶段优化模型,旨在应对电网故障或极端事件时快速恢复供电能力。文中采用了多种智能优化算法(如PSO、MPSO、TACPSO、SOA、GA等)进行对比分析,验证所提策略的有效性和优越性。研究不仅关注移动储能单元的初始部署位置,还深入探讨其在故障发生后的动态路径规划与电力支援过程,从而全面提升配电网的韧性水平。; 适合人群:具备电力系统基础知识和Matlab编程能力的研究生、科研人员及从事智能电网、能源系统优化等相关领域的工程技术人员。; 使用场景及目标:①用于科研复现,特别是IEEE顶刊或SCI一区论文中关于配电网韧性、应急电源调度的研究;②支撑电力系统在灾害或故障条件下的恢复力优化设计,提升实际电网应对突发事件的能力;③为移动储能系统在智能配电网中的应用提供理论依据和技术支持。; 阅读建议:建议读者结合提供的Matlab代码逐模块分析,重点关注目标函数建模、约束条件设置以及智能算法的实现细节。同时推荐参考文中提及的MPS预配置与动态调度上下两部分,系统掌握完整的技术路线,并可通过替换不同算法或测试系统进一步拓展研究。
先看效果: https://pan.quark.cn/s/3756295eddc9 在C#软件开发过程中,DateTimePicker组件被视为一种常见且关键的构成部分,它为用户提供了图形化的途径来选取日期与时间。 此类控件多应用于需要用户输入日期或时间数据的场景,例如日程管理、订单管理或时间记录等情境。 针对这一主题,我们将细致研究DateTimePicker的操作方法、具备的功能以及相关的C#编程理念。 DateTimePicker控件是由.NET Framework所支持的一种界面组件,适用于在Windows Forms应用程序中部署。 在构建阶段,程序员能够通过调整属性来设定其视觉形态及运作模式,诸如设定日期的显示格式、是否展现时间选项、预设的初始值等。 在执行阶段,用户能够通过点击日历图标的下拉列表来选定日期,或是在文本区域直接键入日期信息,随后按下Tab键或回车键以确认所选定的内容。 在C#语言中,DateTime结构是处理日期与时间数据的核心,而DateTimePicker控件的值则表现为DateTime类型的实例。 用户能够借助`Value`属性来读取或设定用户所选择的日期与时间。 例如,以下代码片段展示了如何为DateTimePicker设定初始的日期值:```csharpDateTimePicker dateTimePicker = new DateTimePicker();dateTimePicker.Value = DateTime.Now;```再者,DateTimePicker控件还内置了事件响应机制,比如`ValueChanged`事件,当用户修改日期或时间时会自动激活。 开发者可以注册该事件以执行特定的功能,例如进行输入验证或更新关联的数据:``...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值