minitorch系列记录——2. 基础函数实现

只记录几点需要注意的。

1. streamlit执行的问题

  1. streamlit run app.py -- 0中执行的app.py脚本文件位于\minitorch-module-0-CastleDream\project\这个文件夹中,不是整个repo的根目录
  2. 同时,需要提前安装torch,因为这里引用了torch。
    pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple
    

2. 任务完成后,检查代码

执行代码,参考:style

第一步:

# 检查全部
black .
# 也可以只检查特定的几个文件
black minitorch/ tests/ project/

优化代码格式,加空格啥的,输出类似这样
在这里插入图片描述


第二步:

flake8
# 也可以只检查特定的几个文件
flake8 minitorch/ tests/ project/

也是检测代码格式


第三步:

# 可以直接测试一整个project
pytest -m task0_1
  • 进行单元测试/属性测试
  • PyTest默认会测试名称中包含test的文件和包含test函数/类等
  • 执行成功的话,结果类似:
    在这里插入图片描述
    如果有问题,就会显示错误,根据提示去修改就好了。
    值得注意的有一点:
    在这里插入图片描述
    这个提示的意思是,函数的Docstring中没有出现对参数的解释,例如:
def test_sigmoid(a):
    r"""Check properties of the sigmoid function, specifically
    * It is always between 0.0 and 1.0.
    * one minus sigmoid is the same as negative sigmoid
    * It crosses 0 at 0.5
    * it is  strictly increasing.
    """
    # TODO: Implement for Task 0.2.
    raise NotImplementedError('Need to implement for Task 0.2')

python中,函数体中以三组双引号括起来的内容就是Docstring,可以看到,对应于上面的第一个问题,就是Docstring中没有出现参数a,可以直接删除docstring,或者自己在docstring中补上关于这个参数的解释。

3. 提交作业,查看分数

在项目的action中,就可以看到提交的情况,点进去,就可以看到评分情况了。
在这里插入图片描述

5. black库总是丢失,需要重复安装


还有一个很奇葩的问题,

# 执行下面的代码
python -m pip install -r requirements.txt

会安装black这个包,而且就是requirements文件中要求的版本
在这里插入图片描述
同时在最后的提示信息里,也说安装好了
在这里插入图片描述
但是去找的时候,找不到,而且安装的时候,还可以再安装一个新版本。。
在这里插入图片描述

6. 可视化

streamlit run app.py -- {
    
    {
    
    module number}}
# --和模块编号之间有个空格

例如,streamlit run app.py -- 0,就会看到如下显示
在这里插入图片描述
在这里插入图片描述
还有这种损失函数结果的绘图。可以学习一下项目中关于streamlit的使用。

7. 一些需要理解的东西

包括python的函数式编程,python的魔法函数等。记录在了另一些博客中

参考:
+

猜你喜欢

转载自blog.csdn.net/Castlehe/article/details/121272297
今日推荐