Welcome to ByteJog.com 🏃💨
––《强风吹拂》
2025-07 运动次数: 6 运动距离: 42.95 km 运动时长: 4:30:15 平均距离: 7.16 km 平均心率: 141 bpm 平均配速: 6:17 / km 2025-07-02 时间: 2025-07-02 06:23:26 距离: 7.77 km 时长: 47:03 配速: 6:03 / km 心率: 144 bpm ...
累计数据 运动次数: 418 运动距离: 3667.29 km 运动时长: 15d 11:50:11 平均距离: 8.77 km 平均心率: 153 bpm 平均配速: 6:05 / km 2025 运动次数: 76 运动距离: 663.81 km 运动时长: 2d 20:26:04 平均距离: 8.73 km 平均心率: 149 bpm 平均配速: 6:11 / km ...
2025上半年结束,跑步距离定格在620公里,离年初制定的全年1500公里目标还有不小的差距。主要原因是3月小腿意外受伤,让我结结实实地休整了一个月才基本恢复。 不过,年初“多跑一些城市”的愿望倒是超额实现了。上半年,我的足迹已经遍布13个城市,超过去年全年的10个,也算是一份意料之外的惊喜。 保定(1月) 北京(2月) 鞍山(4月) 兰州(4月) 南京(4月) 乌鲁木齐(5月) 西宁市(5月) 成都(6月) 广州(6月) 呼和浩特(6月) 济南(6月) 泰安(6月) 每到一个新的城市,我都会习惯性地打开咕咚,寻找一条同城热门路线。跑步,已经成为我感知一座城市最直接的方式。以下便是我对这13座城市,仅限于个人视角的跑步路线感受。 1月 · 保定 1月的保定天寒地冻,在田野中奔跑,别有一番风味。1月底,路边的麦田已经吐出了嫩芽,小麦的地上部分会停止生长,但根系仍在悄悄吸收养分,为春季返青积蓄力量。这正像是跑者的冬训,是为新一年“打造”更强心肺功能的黄金期。 2月 · 北京 2月的北京春意渐浓,体感很舒服。清河两岸的道路一年四季都适合跑步。冬天的清河里,有越冬的候鸟在此停留。去年,一对黑天鹅在河边孵化宝宝,一度成为网红,引来不少周边群众打卡围观。如今,在清河之舟的展厅里,还能欣赏到摄影爱好者们为它们拍摄的嬉戏作品。 4月 · 鞍山 4月的鞍山感受热情,因为宾馆附近没有找到热门路线,就索性绕着宾馆跑了几圈。都说东北近年来人口外流,但亲身体验下来,这里少了些大城市的喧嚣,路面不拥挤,生活节奏很是惬意。而且这里的人们非常热情,东北菜也是名不虚传,嘎嘎香! 4月 · 兰州 4月的兰州依旧凉爽。每次到兰州,基本都会选择住在黄河附近,这样清晨一出门,就可以沿着黄河跑步打卡。跑的这段路,有一部分还是兰州马拉松的赛道。6月初兰马之后一周又去了一趟,跑步时想到有许多跑友为兰马拍摄vlog,跑起来也格外带劲。 4月 · 南京 4月的南京古都之行,南京的跑步圣地,非玄武湖莫属。一圈9.6公里,地处主城区,早上跑步的人非常多。沿途风景美不胜收,目不暇接。最近在网上刷了不少程鸣的vlog,那句“我又不会害你”的口头禅尤其洗脑,跑步的时候我还在想,会不会在这里与他偶遇呢。 5月 · 乌鲁木齐 5月的乌鲁木齐格外凉快,宾馆附近有个植物园,但看起来不大,就没进去跑,选择了路跑画圈。途中有些路段的人行道非常窄,汽车几乎是擦着身子开过,感觉有些危险。加上时差还没完全倒过来,跑得不够尽兴。下次有机会,一定得选个好地方跑个过瘾的长距离。 5月 · 西宁 5月的西宁避暑天堂,下着小雨的时候甚至还得穿件外套。西宁海拔2260米左右,记得去年刚到时还有些高原反应,呼吸略喘,连续几天都没睡好。但现在适应多了,头天晚上到,第二天早上就能开跑。高海拔的跑步感受和内地平原地区还是有明显区别,心率很容易飙高。不过这个季节的西宁,温度和湿度都恰到好处,跑起来非常美。回想3月份的拉伤,就是因为热身不充分,这次可不敢大意了。 6月 · 成都 6月的成都有点热辣。住的地方在金融城附近,早上上班族行色匆匆。于是,选了不远处一圈2公里多的锦城公园跑圈。公园虽然不大,但一路基本都有绿荫遮挡,成都的绿道跑起来,只能用“巴适得板”来形容。跑完步再吃顿成都的美食,更是“安逸喽”! 6月 · 广州 6月的广州潮湿闷热,一落地就感受到了扑面而来的热情。早上出来跑了不到5公里,短裤就已湿透。这条路线途经香雪公园、草莓园和黄埔图书馆,若是在天气凉爽的时候跑,体验感一定会非常棒。这次广州之行还有一个额外收获:解锁了地道的大排档体验,大电风扇呼呼地吹,菜用大盆装着,肉可以大口吃,江湖气十足! 6月 · 呼和浩特 6月的呼和浩特喜逢大雨,穿着短袖感觉还有点冷。好在天公作美,清晨时分短暂放晴,我赶紧出门开跑。在宾馆门口,还偶遇一位跑友询问去哪儿跑,他正准备绕着成吉思汗公园跑两圈。于是我便跟着进了成吉思汗公园。出公园时还有个小插曲:一位老大爷看见我,竟拿着一根会发出叮当声响的棍子追着我跑,吓得我立马大步流星地开溜。跑了一段距离后,看见前面另一位跑友时,才放慢了脚步,跟着前面的跑友继续跑了。 6月 · 济南 6月的济南热辣滚烫,当然是为了看“夏雨荷”。虽然宾馆距离大明湖有点远,济南的夏天也热,但这些都挡不住跑步的脚步。跑了3公里多到达大明湖,绕湖一圈,不虚此行,确实看到了湖中盛开的荷花,以及岸边大大的卡通形象“夏雨荷”。 ...
2025-06 运动次数: 24 运动距离: 206.50 km 运动时长: 21:41:06 平均距离: 8.60 km 平均心率: 147 bpm 平均配速: 6:18 / km 2025-06-01 时间: 2025-06-01 06:33:11 距离: 15.09 km 时长: 1:32:01 配速: 5:59 / km 心率: 146 bpm ...
最近带着小朋友在运动,小朋友看到运动记录都在我的Garmin Connect活动在一起,还有点不开心,希望有自己的账号,只有他自己的运动记录。于是就有了下面忙活的内容。 现在博客跑步的内容是通过yihong0618大佬的running_page实现跑步记录自动生成博文,详细可以看《跑步记录自动生成Markdown发布博文》。 大致思路就是如下: 申请一个新的Garmin Connect账号; python脚本实现:做一个fit文件的缓存;根据指定的时间找到对应的fit文件;上次fit文件到新注册的Garmin Connect账号; shell脚本实现:接收时间参数;获取Garmin Connect账号密钥;执行python脚本。 Garmin Connect账号注册 账号注册时需要注意,Garmin有国内账号和国际账号的区分,因此如果这方面需求的可以稍微注意一下。 国内账号地址:[[https://connect.garmin.cn/]] 国际账号地址:[[https://connectus.garmin.cn/]] python同步脚本 下面的脚本放在run_page工程下的run_page目录下: import argparse import asyncio import json import os from datetime import datetime import config from garmin_sync import Garmin from gpxtrackposter.track_loader import load_fit_file FIT_FOLDER = os.path.join(config.parent, "FIT_OUT") FIT_CACHE_FILE = os.path.join(config.parent, "fit_cache.json") def save_fit_cache_list(fit_cache_list): with open(FIT_CACHE_FILE, "w") as f: json.dump(fit_cache_list, f) def load_fit_cache_list(): if os.path.exists(FIT_CACHE_FILE): with open(FIT_CACHE_FILE, "r") as f: try: return json.load(f) except Exception as e: print(f"json load {FIT_CACHE_FILE} \nerror {e}") pass return {} def upload_files_to_garmin(options): print("Need to load all fit files maybe take some time") fit_cache_list = load_fit_cache_list() file_names = [] for file_name in os.listdir(FIT_FOLDER): if file_name.endswith('.fit') and file_name not in fit_cache_list: file_names.append(file_name) for file_name in file_names: track = load_fit_file(os.path.join(FIT_FOLDER, file_name)) if track.start_time_local: fit_cache_list[file_name] = datetime.strftime(track.start_time_local, "%Y-%m-%d:%H:%M:%S") save_fit_cache_list(fit_cache_list) to_upload_files = [] if options.dt is not None: dts = options.dt.split(",") for dt in dts: for file_name in fit_cache_list: if fit_cache_list[file_name].startswith(dt): to_upload_files.append(os.path.join(FIT_FOLDER, file_name)) break print("Uploading files to Garmin...") garmin_auth_domain = "CN" if options.is_cn else "" garmin_client = Garmin(options.secret_string, garmin_auth_domain) loop = asyncio.get_event_loop() future = asyncio.ensure_future( garmin_client.upload_activities_files(to_upload_files) ) loop.run_until_complete(future) if __name__ == "__main__": if not os.path.exists(FIT_FOLDER): os.mkdir(FIT_FOLDER) parser = argparse.ArgumentParser() parser.add_argument( "secret_string", nargs="?", help="secret_string fro get_garmin_secret.py" ) parser.add_argument( "--dt", dest="dt", help="if upload to strava all without check last time", ) parser.add_argument( "--is-cn", dest="is_cn", action="store_true", help="if garmin account is cn", ) upload_files_to_garmin(parser.parse_args()) 使用方式,如上传2025-06-22:20,2025-06-22:21两个时间相关的运动记录到新账号。 ...
在做同步指定时间的Garmin运动记录到不同账号的时候碰到一个诡异的报错,因为重装了系统就出现问题,让我觉得系统出现什么问题。 在编写python脚本的时候,需要提前获取一下Garmin账号密钥,于是执行下面的命令。 python run_page/get_garmin_secret.py 账号 "密码" --is-cn 报错啦。。。 Traceback (most recent call last): File "/Users/xxx/PycharmProjects/workouts_page/venv313/lib/python3.13/site-packages/urllib3/connectionpool.py", line 464, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/Users/xxx/PycharmProjects/workouts_page/venv313/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1093, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/Users/xxx/PycharmProjects/workouts_page/venv313/lib/python3.13/site-packages/urllib3/connection.py", line 790, in connect sock_and_verified = _ssl_wrap_socket_and_match_hostname( sock=sock, ...<14 lines>... assert_fingerprint=self.assert_fingerprint, ) File "/Users/xxx/PycharmProjects/workouts_page/venv313/lib/python3.13/site-packages/urllib3/connection.py", line 969, in _ssl_wrap_socket_and_match_hostname ssl_sock = ssl_wrap_socket( sock=sock, ...<8 lines>... tls_in_tls=tls_in_tls, ) File "/Users/xxx/PycharmProjects/workouts_page/venv313/lib/python3.13/site-packages/urllib3/util/ssl_.py", line 480, in ssl_wrap_socket ssl_sock = _ssl_wrap_socket_impl(sock, context, tls_in_tls, server_hostname) File "/Users/xxx/PycharmProjects/workouts_page/venv313/lib/python3.13/site-packages/urllib3/util/ssl_.py", line 524, in _ssl_wrap_socket_impl return ssl_context.wrap_socket(sock, server_hostname=server_hostname) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/homebrew/Cellar/[email protected]/3.13.5/Frameworks/Python.framework/Versions/3.13/lib/python3.13/ssl.py", line 455, in wrap_socket return self.sslsocket_class._create( ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ sock=sock, ^^^^^^^^^^ ...<5 lines>... session=session ^^^^^^^^^^^^^^^ ) ^ File "/opt/homebrew/Cellar/[email protected]/3.13.5/Frameworks/Python.framework/Versions/3.13/lib/python3.13/ssl.py", line 1076, in _create self.do_handshake() ~~~~~~~~~~~~~~~~~^^ File "/opt/homebrew/Cellar/[email protected]/3.13.5/Frameworks/Python.framework/Versions/3.13/lib/python3.13/ssl.py", line 1372, in do_handshake self._sslobj.do_handshake() ~~~~~~~~~~~~~~~~~~~~~~~~~^^ ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1028) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/Users/xxx/PycharmProjects/workouts_page/venv313/lib/python3.13/site-packages/urllib3/connectionpool.py", line 787, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/Users/xxx/PycharmProjects/workouts_page/venv313/lib/python3.13/site-packages/urllib3/connectionpool.py", line 488, in _make_request raise new_e urllib3.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1028) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/Users/xxx/PycharmProjects/workouts_page/venv313/lib/python3.13/site-packages/requests/adapters.py", line 667, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/Users/xxx/PycharmProjects/workouts_page/venv313/lib/python3.13/site-packages/urllib3/connectionpool.py", line 871, in urlopen return self.urlopen( ~~~~~~~~~~~~^ method, ^^^^^^^ ...<13 lines>... **response_kw, ^^^^^^^^^^^^^^ ) ^ File "/Users/xxx/PycharmProjects/workouts_page/venv313/lib/python3.13/site-packages/urllib3/connectionpool.py", line 871, in urlopen return self.urlopen( ~~~~~~~~~~~~^ method, ^^^^^^^ ...<13 lines>... **response_kw, ^^^^^^^^^^^^^^ ) ^ File "/Users/xxx/PycharmProjects/workouts_page/venv313/lib/python3.13/site-packages/urllib3/connectionpool.py", line 871, in urlopen return self.urlopen( ~~~~~~~~~~~~^ method, ^^^^^^^ ...<13 lines>... **response_kw, ^^^^^^^^^^^^^^ ) ^ File "/Users/xxx/PycharmProjects/workouts_page/venv313/lib/python3.13/site-packages/urllib3/connectionpool.py", line 841, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/Users/xxx/PycharmProjects/workouts_page/venv313/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='sso.garmin.cn', port=443): Max retries exceeded with url: /sso/embed?id=gauth-widget&embedWidget=true&gauthHost=https%3A%2F%2Fsso.garmin.cn%2Fsso (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1028)'))) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/Users/xxx/PycharmProjects/workouts_page/run_page/get_garmin_secret.py", line 18, in <module> garth.login(options.email, options.password) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/xxx/PycharmProjects/workouts_page/venv313/lib/python3.13/site-packages/garth/http.py", line 167, in login self.oauth1_token, self.oauth2_token = sso.login( ~~~~~~~~~^ *args, **kwargs, client=self ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/Users/xxx/PycharmProjects/workouts_page/venv313/lib/python3.13/site-packages/garth/sso.py", line 92, in login client.get("sso", "/sso/embed", params=SSO_EMBED_PARAMS) ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/xxx/PycharmProjects/workouts_page/venv313/lib/python3.13/site-packages/garth/http.py", line 155, in get return self.request("GET", *args, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/xxx/PycharmProjects/workouts_page/venv313/lib/python3.13/site-packages/garth/http.py", line 138, in request self.last_resp = self.sess.request( ~~~~~~~~~~~~~~~~~^ method, ^^^^^^^ ...<3 lines>... **kwargs, ^^^^^^^^^ ) ^ File "/Users/xxx/PycharmProjects/workouts_page/venv313/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/Users/xxx/PycharmProjects/workouts_page/venv313/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/Users/xxx/PycharmProjects/workouts_page/venv313/lib/python3.13/site-packages/requests/adapters.py", line 698, in send raise SSLError(e, request=request) requests.exceptions.SSLError: HTTPSConnectionPool(host='sso.garmin.cn', port=443): Max retries exceeded with url: /sso/embed?id=gauth-widget&embedWidget=true&gauthHost=https%3A%2F%2Fsso.garmin.cn%2Fsso (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1028)'))) 问题扔给GPT,看看解决方法。 ...
2025-05 运动次数: 14 运动距离: 150.43 km 运动时长: 15:22:32 平均距离: 10.75 km 平均心率: 149 bpm 平均配速: 6:07 / km 2025-05-02 时间: 2025-05-02 06:40:34 距离: 5.20 km 时长: 32:16 配速: 6:12 / km 心率: 136 bpm ...
如果人生是一场强化学习 早上跑步听枫言枫语142期《橘子:ListenHub听见好奇心》,嘉宾Orange提到“如果人生是一场强化学习,你的奖励函数是什么?”。想象一下,我们每个人都是一个复杂的、不断学习的智能体。我们生活在一个庞大而动态的环境中,每天都在做出无数的决策和行动。这些行动会带来不同的结果——有时是愉悦、满足,有时是痛苦、遗憾。我们从这些结果中学习,调整自己的行为策略,以便在未来获得更多“好”的结果,避免“坏”的结果。 这听起来是不是很像人工智能领域的一个重要分支——强化学习? 在强化学习中,一个智能体的目标是通过与环境的交互,学习一个最优策略,以最大化其获得的累积奖励。这个奖励信号由一个预先设定的“奖励函数”来定义。智能体并不知道最优策略是什么,它只能通过“试错”和从环境反馈中学习。 如果我们将这个框架套用在人生上,会发现惊人的相似之处: 智能体 (Agent): 就是我们自己——每个人。 环境 (Environment): 我们所处的社会、家庭、工作、自然界,以及我们自身的生理和心理状态。 状态 (State): 我们在特定时刻的处境、知识、感受、拥有的资源等等。 行动 (Actions): 我们做出的选择、说出的话、采取的行动,大到职业规划、婚姻选择,小到今天午饭吃什么、对同事微笑还是板脸。 策略 (Policy): 我们基于经验和认知形成的决策模式、习惯、价值观,它指导我们在特定状态下采取何种行动。 奖励/惩罚 (Reward/Penalty): 行动带来的即时或长远的结果,可能是积极的(奖励)或消极的(惩罚)。 那么,问题来了:如果人生是一个强化学习过程,我们的奖励函数到底是什么? 是什么在驱动我们的学习和行为?是什么构成了我们追求的“奖励”? 这不像训练一个玩游戏的AI那样简单,游戏规则和得分机制是明确的。人生的奖励函数是隐晦的、多样的、甚至是个体化的。以下是一些可能的构成要素: 生存与繁衍的本能奖励: 这是最底层的激励。食物、安全、舒适、性的满足感,这些是生物进化刻在我们基因里的奖励信号,确保个体和物种的延续。饥饿得到满足是奖励,受到伤害是惩罚。 快乐与痛苦的感知: 我们的神经系统对快乐(如愉悦、欣喜、成就感)和痛苦(如疼痛、悲伤、恐惧)有直接的感知。追求快乐、逃避痛苦构成了重要的激励来源。但这往往是即时且主观的。 社会认可与连接: 作为社会性动物,来自他人的认可、赞美、爱、归属感是强大的奖励。被孤立、批评、排斥则是惩罚。这驱动我们去适应社会规范,建立人际关系。 成就与掌控感: 完成一个目标、掌握一项技能、解决一个难题、获得权力或财富,这些都能带来成就感和掌控感,是重要的内在或外在奖励。 意义与价值的追求: 当基本的生存和社交需求得到满足后,许多人开始追求超越个体的小我,为更大的事业、理想或他人做出贡献。这种“意义感”和“价值感”是更高级的奖励,它可能要求我们放弃即时快乐,甚至承受痛苦。 好奇心与成长: 探索未知、学习新事物、实现自我提升,这些过程本身就能带来满足感。对许多人来说,持续的成长和学习是重要的内在激励。 动态变化的奖励函数:人生不同阶段的追求 如果说人生是一个强化学习过程,那么随着我们进入不同的人生阶段,我们的“奖励函数”确实也在发生变化。我们所追求的目标和理想不同了,意味着对不同结果的“奖励”权重也随之调整。 这就像一个智能体在完成一系列连续的任务,每个任务都有其特定的奖励机制。在人生的不同阶段,我们面临的“任务”和环境挑战不同,自然驱动我们去寻求不同的奖励: 童年和青少年时期: 这个阶段的奖励函数可能更侧重于即时满足、来自父母和老师的认可、探索世界带来的好奇心奖励。学习新技能(如走路、说话、骑自行车)本身就是一种奖励,因为能带来掌控感和自由。惩罚可能更多是生理上的不适或直接的批评。 青年时期: 奖励函数开始向来自同伴的认可、成就感(学业、事业的初步成功)、建立亲密关系以及经济独立倾斜。对未来的憧憬和理想也成为重要的激励来源,即使实现过程充满挑战。 成年及中年时期: 奖励函数可能变得更加复杂和多元。事业上的进一步发展(成就)、家庭的稳定与幸福、子女的成长、对社会或行业的贡献成为核心奖励。健康的重要性凸显,对风险的规避(减少惩罚)也变得更重要。 老年时期: 奖励函数可能再次发生转变。健康与舒适、与家人朋友的联系、回顾人生所获、为后代留下遗产或经验可能成为主要的追求。对物质和外部认可的权重可能下降,而内心的宁静和满足感变得更加珍贵。 为什么奖励函数会变化? 这种变化并非随机,而是由多种因素驱动: 生理和心理发展: 随着年龄增长,我们的生理需求、认知能力和情感状态都在变化。 社会角色和责任: 从学生到职员、从单身到为人父母、从工作到退休,社会角色的转变带来了新的责任和期望,这些都影响我们认为“有价值”的事物。 经验的积累: 过去的成功和失败经历会重塑我们对不同结果的预期,从而调整我们对这些结果的“奖励”或“惩罚”评估。 价值观的演变: 随着阅历的增加,我们对人生、幸福、成功的理解可能发生变化,这直接影响我们对内在和外在奖励的优先级排序。 这种奖励函数的动态性,解释了为什么我们在不同年龄会有不同的烦恼和追求,为什么年轻时愿意冒险追求梦想,年长后更倾向于稳定和安逸。它也意味着,人生这个强化学习过程,不仅是学习如何在固定的奖励机制下优化行为,更是学习如何适应甚至主动调整那个不断变化的奖励机制。 人生的奖励函数之所以难以捉摸,在于它往往不是单一的,而是以上各种因素的复杂组合。更重要的是: 奖励信号可能延迟: 很多有价值的奖励(如长期的健康、深厚的感情、事业的成功)需要长期的努力和延迟满足,而短期的行动可能带来即时但有害的奖励(如沉迷游戏、暴饮暴食)。 奖励之间可能冲突: 追求事业上的巨大成功可能意味着牺牲与家人相处的时间;坚持原则可能意味着失去社会认可或物质利益。 奖励函数是动态变化的: 年轻时可能更看重物质和认可,年长后可能更追求健康和内心的平静。人生的不同阶段,我们对奖励的权重会发生变化。 奖励函数是主观且隐性的: 我们可能自己都意识不到真正驱动我们的是什么。有时我们以为自己在追求A,但潜意识里真正想要的是B。 理解奖励函数的重要性 将人生视为一个强化学习过程,并反思自己的奖励函数,具有深刻的意义: ...
2025-04 运动次数: 13 运动距离: 106.74 km 运动时长: 10:56:01 平均距离: 8.21 km 平均心率: 154 bpm 平均配速: 6:08 / km 2025-04-08 时间: 2025-04-08 06:56:29 距离: 5.20 km 时长: 31:42 配速: 6:05 / km 心率: 154 bpm ...
推荐一个开源项目u14app/deep-research,基于Google的Gemini模型实现Deep Research,最近Gemini 2.5 Pro很能打,一推出来就上榜首了。 ### 功能 快速深度研究:约 2 分钟即可生成综合研究报告,显著加快您的研究进程。 多平台支持:支持快速部署到 Vercel、Cloudflare 和其他平台。 由 Google Gemini 提供支持:利用先进的 Google Gemini 模型进行准确而有见地的分析。 思维与网络模型: 采用先进的“思维”和“网络”模型,兼顾深度与速度,快速获得高质量结果。支持切换研究模型。 Canvas 支持研究内容的编辑,提供所见即所得和 Markdown 两种编辑模式,可调整阅读级别、文章长度以及全文翻译。 研究历史: 支持保存研究历史,可以随时回顾以前的研究成果并再次进行深入研究。 本地和服务器 API 支持:提供灵活的本地和服务器端 API 调用选项,以满足您的需求。 注重隐私:您的数据保持私密和安全,因为所有数据都本地存储在您的浏览器中。 多语言支持:英语、简体中文。 采用现代技术构建:使用 Next.js 15 和 Shadcn UI 开发,确保现代、高性能且视觉上吸引人的用户体验。 MIT 许可:开源且可根据 MIT 许可免费供个人和商业使用。 此项目需要使用 Gemini API key,您可以在 Google AI Studio 上免费申请。如果需要 API 代理地址,可以参考之前的帖子如何优雅流畅的使用Google Gemini 1.5 pro服务,也可以找到一些公益的 Gemini API 代理,或者使用 Cloudflare AI Gateway 项目支持的部署方式: 一键部署项目,可以选择部署到 Vercel 或者 Cloudflare docker部署 静态部署 非常值得推荐 在最新的 Gemini 2.5 Pro 的加持下,研究结果大幅提升,如果说之前是大学生水平,那么在 Gemini 2.5 Pro 的加持下,甚至可以达到博士生的论文水平。 ...