求学在卡梅

        卡内基梅隆大学坐落在美国宾夕法尼亚州匹兹堡市。对于卡梅,我同样慕名已久。清华大学的计算机学科在国内名列前茅,而卡内基梅隆大学计算机学院下属计算机、机器人和语言工程等几个系,和麻省理工、斯坦福、伯克利一起在计算机领域排名第一。1999年8月,我来到匹兹堡市,开始了在卡梅的求学生活。

  就校园环境而言,和清华相比,卡梅的校园不大。卡梅计算机系在Wean Hall,是一座八层楼的建筑。据说钢铁大王卡内基在投资建校时,准备如果建校不成功就把学校改为工厂,所以Wean Hall等早期建筑的内部,随处可见宽阔的走廊,厚实的没有任何装饰的砖墙,风格很鲁棒。有意思的是教学楼都是依地形而建。比如,Wean Hall北侧的入口在一层是山谷,南侧的入口却在五层是山顶。

  清华园内的北半边,有连片数十座宿舍楼,可供在校本科生、研究生,以及各种进修班学员和外国留学生居住,而卡梅只提供本科宿舍,研究生大都在学校附近的几个居民区自己租房。因此,初到匹城,要做的第一件事就是找公寓。我和一位来卡梅电子系就读的同学,合租了一套两居室的公寓,步行到学校大约15到20分钟。出租的公寓很少带家具,于是我们每人先买了一个睡袋在房间里打地铺。床和桌椅等必需的家具都是逐渐购买的。清华七年的住宿生活,锻炼了我独立生活的能力,使我有信心去克服生活中各种可能遇到的困难。

  清华和卡梅都有入学教育,但内容各异。卡梅为新入学的留学生安排了一周的新生教育(Orientation),最重要的是讲解移民局的法规,介绍在匹兹堡和卡梅学习和生活的常识和注意事项。计算机系也安排了两周的新生入门课程(Immigration Course)。除了讲解博士生的学业要求和系里设备的使用方法,最主要的内容是教授们讲述正在从事的科研项目。研究生课程9月初正式开始了,但这个月最重要的事情是选定博士导师。在清华,博士导师大多在录取前就已基本选定,但卡梅计算机系鼓励师生在进一步加深了解的基础上选择导师,这即使在卡梅各系中也是很独特的。学生们根据之前的入门课程和教授网页上的自我介绍,选择感兴趣的老师,教授们根据学生的简历和课程中的作业和讨论的情况,选择感兴趣的学生。然后,我们和多位教授一对一地面谈,进一步了解彼此的情况和意愿。最后,在9月底,学生和教授提交自己的备选名单,由系里专门的委员会进行匹配。这个双向选择过程被戏称为“找对象”(Marriage Process)。“找对象”的结果公布时还要举行一个象征性的“婚礼”,由一对师生扮演“新郎”和“新娘”,颇富浪漫色彩。全系师生都会参加这个一年一度的活动,来认识新同学。

  卡梅计算机系对博士的要求包括课程、表达能力、博士论文开题和答辩几部分,中心是培养学生的独立研究能力。从这些方面看,清华计算机系的考察环节和培养目标同卡梅区别不大,但是仔细比较,卡梅在每个培养环节的做法和清华都有些许差异。在卡梅,我们每人一共要学习8门课程,以达到对计算机领域当前发展情况广度和深度的认识:前5门课程必须从五大研究领域(硬件系统,软件系统,人工智能,理论,计算机语言)中各选一门重点课程,后3门课程则根据各人的科研方向进行选择。而在清华,研究生的课程学习相对较轻松,甚至有些同学在本科期间就已经完成了相关课程的学习。比较而言,在卡梅课程学习中我最深切的体会是课程对自己独立实践能力的培养。每门课程,每周4小时的上课通常只是课程的一小部分。更多的时间要花在阅读课程要求的学术论文和作研究项目上。除了理论方面的课程,博士课程都会强调学生两人一组完成一项研究。主讲老师会列出一些研究课题;学生也可以自己提出课题。课题内容大多是针对课上讨论过的论文进行进一步地延伸,或者进行开放性的(答案未知的)研究。项目开题、中期报告和期末报告的成绩占课程总成绩的50%以上。很多时候,期末报告不仅要求学生提交书面形式的论文,而且要求制作成海报(poster),在期末最后一堂课时向全校公开。课程学习是卡梅培养博士生的重要环节,是引领学生初步具备独立研究能力的过程。而在清华,为了达到同样的目标,通常是通过研究生开题来实现,在开题前如果已经公开发表高水平论文,则认为已经初步具备独立研究能力,可以开始进行博士课题的研究。由于清华本科期间扎实的课程学习基础,以及硕士期间大量的项目锻炼,我在卡梅的课程学习中,经过努力,能够较快适应。

  卡梅对表达能力的要求十分有特色。表达能力包括作学术报告的能力、文章的写作能力和编程能力三方面。比如,在学术报告表达能力方面的考核极为严格。系里由十几位教授和有经验的高年级同学组成评审组。学生必须作一个公开的学术报告,邀请评审组中至少三位成员参加。报告的听众都具备计算机领域的基础知识,但对于报告的具体研究领域却并不熟悉。考核的要求是学生必须深入浅出地讲解自己专业科研的一项成果,让听众听懂和理解。很多学生都不能一次通过这个考核。原因是讲解专业科研的报告和日常的交谈很不同,必须采用图形、作比较、比喻、举例等多种方法有逻辑地阐述。学校和计算机系都有一些锻炼表达能力的小课,但更重要的是在跟导师一起作科研中反复实践,表达能力才能逐渐提高。从与清华读博士的同学的交流中,我了解到,清华计算机系并没有在这方面刻意培养。虽然举行了博士生论坛这样的形式,但是主要作用是学术方向的交流,而没有考核要求。

  博士学习最主要的部分是跟着导师作科学研究,这在清华和卡梅都是相同的。在上课的同时,卡梅计算机系里鼓励学生每周用至少一半的时间作研究。8门课程全部完成后,就是全时进行研究。我的导师是Mowry教授和Ailamaki教授。他们分别在计算机体系结构和数据库系统领域有很深的造诣。我从事的研究是利用计算机硬件体系结构的最新特性改良数据库系统的基础算法和数据结构以获得更好的性能。在开始的几个月,导师指导我阅读了大量的学术论文。一篇12页9号字的文章,大致要花2至3个小时才能细读一遍。而且,很多时候一篇文章只读本身是不够的,要彻底理解文章内容,还必须阅读与文中的概念、设计、实验等密切相关的引用文章。日积月累,我逐渐对研究领域的发展情况有了透彻的了解。每周,我和导师都会开一个小时的讨论会:由我讲述一周的收获和新想法,导师据我的说明提问,我们一起讨论,最后决定下一步的方向。每周的讨论使我开阔了思路,学会了许多分析问题和解决问题的方法。

  随着研究的深入,我们决定发表一篇学术论文。导师和我一起讨论文章结构和实验设计。我完成初稿后,导师从头到尾地帮我修改文章。对于比较大的修改,导师总是给我讲解原因。我非常感谢导师,虽然已经是国际知名的教授,他们仍然能够手把手指导我论文的写作,对于我论文写作水平的提高,无疑是巨大的帮助。功夫不负有心人,我们的论文被数据库领域主要的国际会议录用,并且根据创新性、内容深度和写作水平被评为最佳论文前三名(Runner-Up for Best Paper Award)。首次参加国际会议,要在上百人的大会议厅里作报告,我十分紧张。为了准备论文报告,导师和我一起出谋划策,力求在分配的30分钟时间内,明确我们的研究成果,清楚地回答提问。导师和几位师兄师姐,耐心地听我练习论文报告,并提出很多中肯的修改意见。我在会议上的报告最后非常成功。

  回想起来,虽然我在清华没有经历严格的科研训练,但是严谨的学风、艰苦的学业和全面的训练使得我具备了应对各种挑战的能力。在卡梅攻读博士期间,科研工作有各种荆棘坎坷:编程实现的困难,实验结果的不理想,即使克服重重困难完成了预定研究,文章也可能被会议评委拒稿。这时,在清华多年养成的刻苦顽强的作风支持我不气馁,认真分析会议的评审意见,进一步完善研究。我的第三篇论文就曾被拒稿。在导师的鼓励下,我坚持补充了更多的实验,获得了更加翔实的数据,然后修改并再次提交了这篇文章。出乎意料的是,文章不仅被录用,而且获得了最佳论文奖。我想,这篇论文应该是清华和卡梅对我共同培养的成果。

  每写一篇新的文章,导师都逐渐减少对我初稿的修改,鼓励我自己不断完善。随着一篇篇文章的发表,我的研究能力和表达能力也在不断地提高,顺利地通过了博士表达能力的三项考核。2005年底,我通过了博士论文答辩,取得了博士学位。

  取得了博士学位,我心情十分激动。回想过去,我觉得我很幸运。清华的学习和生活为我在卡梅求学打下了坚实的基础。父母、妻子和亲人的关心,同学和朋友热心的帮助,导师耐心的指导,使我勇于面对学习和生活上的种种挑战和挫折,勤奋求学,不懈努力,克服一个个困难,终有成果。“路漫漫其修远兮,吾将上下而求索。”博士毕业是我博士生涯的结束,更是一个新的开始。我也走上工作岗位,再接再历,展开新的研究工作。

  (2008年8月1日初稿,2008年9月14日修改稿)

  作者简介:

  陈世敏 男 1973年生 祖籍浙江宁波 长于北京 研究员

  1992年北京四中毕业,考入清华计23班就读。1997年本科毕业,并继续攻读硕士研究生,1999年7月获得硕士学位。赴美国卡内基梅隆大学计算机系攻读博士学位。2005年底获博士学位,加入英特尔研究院匹兹堡分院,任研究员。

  来源:《历久弥新——清华大学计算机科学与技术系50年回忆与纪念文集》


原文地址:http://news.tsinghua.edu.cn/publish/news/6768/2011/20110225232152312361274/20110225232152312361274_.html

在使用Python来安装geopandas包时,由于geopandas依赖于几个其他的Python库(如GDAL, Fiona, Pyproj, Shapely等),因此安装过程可能需要一些额外的步骤。以下是一个基本的安装指南,适用于大多数用户: 使用pip安装 确保Python和pip已安装: 首先,确保你的计算机上已安装了Python和pip。pip是Python的包管理工具,用于安装和管理Python包。 安装依赖库: 由于geopandas依赖于GDAL, Fiona, Pyproj, Shapely等库,你可能需要先安装这些库。通常,你可以通过pip直接安装这些库,但有时候可能需要从其他源下载预编译的二进制包(wheel文件),特别是GDAL和Fiona,因为它们可能包含一些系统级的依赖。 bash pip install GDAL Fiona Pyproj Shapely 注意:在某些系统上,直接使用pip安装GDAL和Fiona可能会遇到问题,因为它们需要编译一些C/C++代码。如果遇到问题,你可以考虑使用conda(一个Python包、依赖和环境管理器)来安装这些库,或者从Unofficial Windows Binaries for Python Extension Packages这样的网站下载预编译的wheel文件。 安装geopandas: 在安装了所有依赖库之后,你可以使用pip来安装geopandas。 bash pip install geopandas 使用conda安装 如果你正在使用conda作为你的Python包管理器,那么安装geopandas和它的依赖可能会更简单一些。 创建一个新的conda环境(可选,但推荐): bash conda create -n geoenv python=3.x anaconda conda activate geoenv 其中3.x是你希望使用的Python版本。 安装geopandas: 使用conda-forge频道来安装geopandas,因为它提供了许多地理空间相关的包。 bash conda install -c conda-forge geopandas 这条命令会自动安装geopandas及其所有依赖。 注意事项 如果你在安装过程中遇到任何问题,比如编译错误或依赖问题,请检查你的Python版本和pip/conda的版本是否是最新的,或者尝试在不同的环境中安装。 某些库(如GDAL)可能需要额外的系统级依赖,如地理空间库(如PROJ和GEOS)。这些依赖可能需要单独安装,具体取决于你的操作系统。 如果你在Windows上遇到问题,并且pip安装失败,尝试从Unofficial Windows Binaries for Python Extension Packages网站下载相应的wheel文件,并使用pip进行安装。 脚本示例 虽然你的问题主要是关于如何安装geopandas,但如果你想要一个Python脚本来重命名文件夹下的文件,在原始名字前面加上字符串"geopandas",以下是一个简单的示例: python import os # 指定文件夹路径 folder_path = 'path/to/your/folder' # 遍历文件夹中的文件 for filename in os.listdir(folder_path): # 构造原始文件路径 old_file_path = os.path.join(folder_path, filename) # 构造新文件名 new_filename = 'geopandas_' + filename # 构造新文件路径 new_file_path = os.path.join(folder_path, new_filename) # 重命名文件 os.rename(old_file_path, new_file_path) print(f'Renamed "{filename}" to "{new_filename}"') 请确保将'path/to/your/folder'替换为你想要重命名文件的实际文件夹路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值