自己动手写深度学习框架(快速学习python和关联库)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

既然目前深度学习大部分都是python开发为主,那我们就学习一下python好了。早前还有python2、python3之分,不过现在大部分都是使用python3了。本身python就是一门脚本语言,和我们之前说的lua很像。所有的细节,都放在了python后面,用户只需要把这些脚本串起来就可以了。关注于库的使用即可,而不是库的实现。

1、快速学习python语言

学习一门语言,其实不复杂,主要就是学习它的数据类型、打印、if-else、循环、函数和类。不管是python,还是c#、java、go、rust都是这样的。只要把握了这一规律,就可以在短时间内学习好一门语言。

复制代码
'''
 demo1 code
 
usage:
 C:\Python27\python.exe exer1.py
'''

## data

type(10)
type(2.718)
type('hello')

## assignment

x=10
print(x)
x=100
print(x)

## list

a=[1,2,3,4,5]
print(a)
print(a[0:2])

## dict

me={'height':180}
print(me)
print(me['height'])

## if - else

a = 10
b = 5
if a > b:
    print('a is bigger than b')
else:
    print('b is bigger than a')


## about loop

count = 0
for i in range(100):
    count += i
print(count)


## about function

def iterate(data):
    if 1 == data:
        return 1
    else:
        return iterate(data-1)+data
        
print('after function was defined')
print(iterate(100))

## about class

class parent:
    def __init__(self, a):
        self.a_ = a
        
    def set_func(self):
        print('this is class set function')
        
    def get_func(self):
        print('this is class get function')
        
    def get_data(self):
        return self.a_

p = parent(20)
p.set_func()
p.get_func()
print(p.get_data())

2、掌握常用的第三方库

不管什么语言,只靠语言本身,能做的事情还是很少的。这个时候就需要第三方库的帮忙。有的第三方库,是语言本身自带,或者说移植好的。还有的第三方库需要从其他的地址下载使用。这里说的第三方,其实是语言自身环境自带的,直接使用即可。

复制代码
'''
 demo2 code

usage:
 C:\Python27\python.exe exer2.py
'''

## about random lib

import random
a = random.randint(0,10)
print(a)

## about time lib

import time
print(time.time())

print('before wait 1s')
time.sleep(1)
print('after wait 1s')


## about datetime lib

from datetime import datetime
print(datetime.now())

3、矩阵库numpy

要学习深度学习,那么矩阵库numpy肯定是少不了的。这个库不是python语言自带的,需要自己用pip下载。或者到对应的网站,下载whl文件也是可以的。下载、安装完毕之后,就可以直接使用了,

复制代码
'''
 demo3 code

usage:
 C:\Python27\python.exe exer3.py
'''

import numpy as np

x = np.array([1.0, 2.0, 3.0])
y = np.array([4.0, 5.0, 6.0])

print('add result is as follows')
print(x+y)

print('')
print('sub result is as follows')
print(x-y)

print('')
print('multiply result is as follows')
print(x*y)

print('')
print('divide result is as follows')
print(x/y)

4、数据分析库matplotlib

在学习深度学习的时候,很多情况下,我们需要对各种数据进行比较。还需要用图形化的方法,把这些结果显示出来,这个时候就可以用matplotlib来帮助我们做到这一点。当然自己用c++,或者是其他语言,也可以做到这一点,只不过用python比较方便一点而已。

复制代码
'''
 demo4 code

usage:
 C:\Python27\python.exe exer4.py
'''

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0, 7, 0.1)
y = np.sin(x)
##y = np.cos(x)
##y = np.tan(x)
plt.plot(x, y)
plt.show()

5、图像处理

后期的时候,我们需要对图像进行处理,正好matplotlib也支持,这里一并学习下,

复制代码
'''
 demo5 code

usage:
 C:\Python27\python.exe exer5.py
'''

import matplotlib.pyplot as plt
from matplotlib.image import imread

img = imread('./lena.png')
plt.imshow(img)
plt.show()

至此,所有的编程语言和第三方库就准备好了,下面就可以开始相关内容的学习了。

相关推荐
小徐不徐说8 小时前
序列化与反序列化:把 C++ 对象可靠地保存下来
开发语言·数据库·c++·php
ragnwang8 小时前
Notes: Python pybind11 import C++ module
开发语言·c++·python
王中阳Go8 小时前
后端转 Agent 岗面试怎么答:8 个高频问题与应答口径
人工智能·后端·python·大语言模型
Wang's Blog8 小时前
Java 项目实战: 交友项目 - 搜索附近的功能概述和分析
java·开发语言·交友
骑着蜗牛撵大象3278 小时前
大模型 Agent 的沙箱护栏:gVisor 隔离、出口白名单与审计闭环
java·开发语言·jvm·安全·agent沙箱·gvisor·microvm
weixin_307779139 小时前
RAG 面试陷阱——混合检索并非无条件优越:一个条件反转实验
人工智能·python·面试·职场和发展
Dxy12393102169 小时前
JS DES 加密详解
开发语言·javascript·arcgis
充值内卷9 小时前
我给桌面加了个鱼缸:C++ 写后端,WebView2 里养一座 Three.js 小岛
开发语言·javascript·c++
云和数据.ChenGuang9 小时前
深入解析 Python 的 dir():从用法到 CPython 源码实现
开发语言·人工智能·python·langchain
叼烟扛炮10 小时前
[Git 实战] 学习笔记:从生成 SSH 密钥到解决 TortoiseGit 推送报错全指南
linux·运维·笔记·git·学习