【书生·浦语大模型实战营】第三期 入门岛作业

8 篇文章 0 订阅
8 篇文章 0 订阅

Linux

闯关任务:完成 SSH 连接与端口映射并运行 hello_world.py。

配置vscode

按照教学文档的内容来
打开vscode,在应用商店中搜索Remote-SSH并安装
打开terminal,输入ssh-keygen 创建一对钥匙
想要加密的可以输入ssh-keygen -t rsa 创建钥匙,只是我自己实践下来发现用加密的钥匙远程的时候经常提示输入密码
使用Get-Content命令查看生成的密钥并复制下来
然后去开发机平台,在首页点击配置SSH Key,接着点击添加SSH公钥,将复制的公钥粘贴到公钥框中,名称会被自动识别到,最后点击立即添加,SSH Key就配置完成了
接着新建开发机,点击SSH连接,将弹框中的命令复制下来,到vscode运行
在这里插入图片描述
登陆成功后控制台如图所示:
在这里插入图片描述

作业内容

先安装gradio
使用命令安装依赖包

pip install gradio==4.29.0

然后在Web IDE的终端中创建一个hello_world.py

vi hello_world.py

输入以下内容并保存

import socket
import re
import gradio as gr
 
# 获取主机名
def get_hostname():
    hostname = socket.gethostname()
    match = re.search(r'-(\d+)$', hostname)
    name = match.group(1)
    
    return name
 
# 创建 Gradio 界面
with gr.Blocks(gr.themes.Soft()) as demo:
    html_code = f"""
            <p align="center">
            <a href="https://intern-ai.org.cn/home">
                <img src="https://intern-ai.org.cn/assets/headerLogo-4ea34f23.svg" alt="Logo" width="20%" style="border-radius: 5px;">
            </a>
            </p>
            <h1 style="text-align: center;">☁️ Welcome {get_hostname()} user, welcome to the ShuSheng LLM Practical Camp Course!</h1>
            <h2 style="text-align: center;">😀 Let’s go on a journey through ShuSheng Island together.</h2>
            <p align="center">
                <a href="https://github.com/InternLM/Tutorial/blob/camp3">
                    <img src="https://oss.lingkongstudy.com.cn/blog/202406301604074.jpg" alt="Logo" width="20%" style="border-radius: 5px;">
                </a>
            </p>

            """
    gr.Markdown(html_code)

demo.launch()

运行python脚本

python hello_world.py

在这里插入图片描述
程序运行成功,vscode自动帮我们做了端口映射
在浏览器中打开便可以看到程序运行的结果
在这里插入图片描述

可选任务1:将Linux基础命令在开发机上完成一遍

作业内容

在这里插入图片描述
在这里插入图片描述

可选任务 2:使用 VSCODE 远程连接开发机并创建一个conda环境

当我们要使用conda安装包的时候会非常慢,我们可以设置国内镜像提升安装速度,示例如下:

#设置清华镜像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
作业内容

我们可以使用以下命令创建python版本为3.10、名字为internlm的虚拟环境

conda create -n internlm python=3.10

在这里插入图片描述

激活虚拟环境:

conda activate internlm

在这里插入图片描述

可选任务 3:创建并运行test.sh文件

作业内容

根目录下创建test.sh文件,写入以下内容:

#!/bin/bash

# 定义导出环境的函数
export_env() {
    local env_name=$1
    echo "正在导出环境: $env_name"
    # 导出环境到当前目录下的env_name.yml文件
    conda env export -n "$env_name" > "$env_name.yml"
    echo "环境导出完成。"
}

# 定义还原环境的函数
restore_env() {
    local env_name=$1
    echo "正在还原环境: $env_name"
    # 从当前目录下的env_name.yml文件还原环境
    conda env create -n "$env_name" -f "$env_name.yml"
    echo "环境还原完成。"
}

# 检查是否有足够的参数
if [ $# -ne 2 ]; then
    echo "使用方法: $0 <操作> <环境名>"
    echo "操作可以是 'export' 或 'restore'"
    exit 1
fi

# 根据参数执行操作
case "$1" in
    export)
        export_env "$2"
        ;;
    restore)
        restore_env "$2"
        ;;
    *)
        echo "未知操作: $1"
        exit 1
        ;;
esac

运行test.sh

chmod +x test.sh
./test.sh export internlm
./test.sh restore internlm

在这里插入图片描述

Python

闯关任务:Python实现wordcount

实现一个 wordcount 函数,统计英文字符串中每个单词出现的次数。返回一个字典,key 为单词,value 为对应单词出现的次数。

思路:

文本转换为小写。
将所有标点符号(’s除外)转为空格。
分割文本为单词列表。
使用字典来记录单词出现的次数。

作业内容
text = """
Got this panda plush toy for my daughter's birthday,
who loves it and takes it everywhere. It's soft and
super cute, and its face has a friendly look. It's
a bit small for what I paid though. I think there
might be other options that are bigger for the
same price. It arrived a day earlier than expected,
so I got to play with it myself before I gave it
to her.
"""

def wordcount(text):
    wordcount_result = {}
    text = text.lower()
    text = text.replace(",","").replace(".","")
    for t in text.split():
        if t not in wordcount_result.keys():
            wordcount_result[t] = 1
        else:
            wordcount_result[t] += 1
    return wordcount_result

if __name__ == '__main__':
    print(wordcount(text))

运行结果

{'got': 2, 'this': 1, 'panda': 1, 'plush': 1, 'toy': 1, 'for': 3, 'my': 1, "daughter's": 1, 'birthday': 1, 'who': 1, 'loves': 1, 'it': 5, 'and': 3, 'takes': 1, 'everywhere': 1, "it's": 2, 'soft': 1, 'super': 1, 'cute': 1, 'its': 1, 'face': 1, 'has': 1, 'a': 3, 'friendly': 1, 'look': 1, 'bit': 1, 'small': 1, 'what': 1, 'i': 4, 'paid': 1, 'though': 1, 'think': 1, 'there': 1, 'might': 1, 'be': 1, 'other': 1, 'options': 1, 'that': 1, 'are': 1, 'bigger': 1, 'the': 1, 'same': 1, 'price': 1, 'arrived': 1, 'day': 1, 'earlier': 1, 'than': 1, 'expected': 1, 'so': 1, 'to': 2, 'play': 1, 'with': 1, 'myself': 1, 'before': 1, 'gave': 1, 'her': 1}

闯关任务:Vscode连接InternStudio debug笔记

作业内容

打开vscode安装python插件,安装后即可打断点和debug
在这里插入图片描述
在此处打上断点,然后点击run and debug,观察分词情况
在这里插入图片描述
左上角可以看到运行这一步之前的变量的值,可以看到分词没啥问题,点击继续执行
在这里插入图片描述
debug结束
在这里插入图片描述

Git

任务1: 破冰活动:自我介绍

作业内容

自我介绍

任务2: 实践项目:构建个人项目

作业内容

个人项目

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值