{{span1}} {{span2}} 次上传
过去一年提交{{total}}{{oneyearbeforeday}} - {{thisday}}
最近一月提交{{thisweekdatacore}}{{amonthago}} - {{thisday}}
最近一周提交{{weekdatacore}}{{aweekago}} - {{thisday}}
用虚拟环境切换cuda版本
用虚拟环境切换cuda版本
最近在尝试训练这个项目:facebookresearch/VisualVoice: Audio-Visual Speech Separation with Cross-Modal Consistency (github.com)
首先看项目的需要的运行环境
环境显然和实验室电脑的不一样,但也可以通过虚拟环境将需要的包进行安装。Python,Pytorch等包的版本可以很简单的使用虚拟环境来更换,但现在我并不知道CUDA是否也可以更换
1.CUDA,CUDA Driver,CUDA Toolkit,CUDNN的关系
CUDA:是显卡厂商NVIDIA推出的运算平台。CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。CUDA英文全称是Compute Unified Device Architecture。
CUDA Driver:顾名思义,是CUDA的驱动,以下是对应关系。可以看出来主要驱动版本足够高,那么可以任意的切换CUDA的版本,也就是说在不同虚拟环境中切换CUDA版本是能够实现的
CUDA Toolkit:CU ...
conda虚拟环境
conda虚拟环境创建、删除
1.查看conda版本
1conda -V
2.查看已有虚拟环境
121.conda env list2.conda info -e
3.创建虚拟环境
12conda create -n [env_name] python=x.x#env_name文件可以在Anaconda安装目录envs文件下找到。
4.打开虚拟环境
1conda cativate [env_name]
5.管理包
1234561.conda install [package]#指定名字2.conda install --yes --file requirements.txt#conda批量安装requirements.txt文件中包含的组件依赖3.conda list -e > requirements.txt#conda批量导出包含环境中所有组件的requirements.txt文件4.conda remove [package]#删除当前环境下的某个包5.conda remove --name [your_env_name] [package_name]#删除某个环境的某个 ...
网络协议总复习
第一章——TCP/IP协议
1.为什么要进行网络互连?
没有一种单一的网络硬件技术可以满足所有的要求
用户期待一种通用的互连
网络互连的目的就是要隐藏底层网络硬件的细节,同时提供一般的服务通信
2.网络互联的方式
应用级互连:应用程序直接建立在物理网络上,无任何中间协议。
缺点:
每台机器都要有所需应用程序
硬件变动后,应用程序也要变动
代码重复
网络级互连:在低层网络技术与高层应用程序之间增加一个中间层软件,屏蔽硬件细节,向用户提供通用网络服务。
优点:
系统更加灵活
出现新的网络技术,只要修改或者增加新的网络层软件
把数据通信活动从应用程序中分离出来,允许中间的计算机直接处理网络通信
3.为什么需要TCP/IP
不同网络通信会出现下面的问题:
不同的网络地址不同
不同的网络数据格式不同
解决办法:
引入IP层,屏蔽不同物理网络技术的差别。由路由器来对不同网络进行连接,进行地址和数据格式的转换。
4.数据传输过程中选路、控制和可靠性问题
选路:路由协议(RIP、OSPF、BGP等)
控制:ICMP
可靠性:TCP/UDP传输层协议
5.TCP/ ...
跑“Looking-to-Listen-at-the-Cocktail-Party”程序时出现的BUG及解决办法
Looking-to-Listen-at-the-Cocktail-Party
1.has no attribute ‘_TensorLike’
原因
这个错误的原因可能是keras和tensorflow的版本不匹配。
解决办法
网上的办法比较多,我把tensorflow的版本降低解决了这个问题
keras==2.3.1
tensorlow==2.0.0
2.ValueError:bad marshal data(unkonwn type code)
原因
这是在加载FaceNet的预训练模型facenet_keras.h5时出现的问题,主要原因是keras版本和模型需要的keras版本不匹配。事实上在我这的原因似乎是Python的版本不匹配导致的?这个项目Python==3.7,我是3.8的Python。
解决办法
重装虚拟环境,用Python==3.7重装所有包
3.KeyError:‘acc’和KeyError:‘val_acc’
12plt.plot(history.history['acc'])plt.plot(history.histor ...
移动通信总复习
第一章
1.什么是移动通信?它的特点是什么?
概念:
在任何时间、任何地点与任何人都能及时沟通联系,交换信息。移动通信是指通信双方,至少有一方在移动中进行信息传输和交换。
特点:
必须利用无线电波进行信息传输
在复杂的干扰环境中运行
可以利用的频谱资源非常有限,而移动通信业务量的需求却与日俱增
网络结构多种多样
通信设备必须适于在移动环境中使用
2.移动通信的分类
工作方式
单工:同频单工、异频单工
双工
半双工
信号形式
数字网
模拟网
通信业务
基于话音业务的通信网络
基于分组数据传输的通信网络
数字移动通信系统(数字网)的优点
频谱利用率高, 有利于提高系统容量
能提供多种业务服务,提高通信系统的通用性
抗噪声、抗干扰和抗多径衰落的能力强
更有效、灵活的网络管理和控制
便于实现通信的安全保密
降低设备成本以及减小用户手机的体量
3.常用移动通信系统
无线电寻呼系统
蜂窝移动通信系统(公用移动通信系统)
无绳电话系统
集群移动通信系统
控制方式:集中控制方式、分布控制方式
集群方式:消息集群、传输集群、准传输集群
蜂窝通信系统采用了哪些技 ...
Pytorch——DataLoader源码学习笔记
DataLoader源代码学习笔记
1.迭代器和生成器
弄明白DataLoader前有必要先弄明白迭代器
1.1 Iterator,Iterable
Python中列表、字典、集合等容器都是可迭代的,即Iterable。可以用for...in...来取出其中的每个元素。
123456789for e in [1,2,3,4]: print(e)'''out:1234'''
等效于:
123456it = iter([1,2,3,4])while True: try: print(next(it)) except: break
事实上,列表、字典等只是Iterable而不是迭代器,即Iterator。
for...in...本质上是把可迭代的容器转换成迭代器,然后通过next()来取出其中的元素。
StopIteration表明所有元素已经取出
迭代器需要方法__iter__和__next__,其中__iter__方法使得类可迭代
123456789101112131415161 ...
Linux
修改一个目录下所有文件权限
1chmod -R 777 目录名
语音信号处理总复习
DogWealth/exam-review-material: 复习资料 (github.com)
__init__.py文件管理Package
__init__.py文件
1.
创建一个结构如上图的文件夹:
test文件夹里包含A文件夹、B文件夹和测试文件test.py
A文件夹下包含A_A文件夹
A_A文件夹下面包含testa_a.py文件,里面有funca_a函数可以打印消息
A文件夹下有testa.py和testa2.py文件,分别有函数funca和funca2,可以打印消息
B文件夹下有testb.py文件,有函数funcb,可以打印消息
12345678910#test.pyfrom A import testafrom B import testbtesta.funca()testb.funcb()'''out:this is funcathis is funcb'''
2.
在大部分情况下,使用A里面的函数,不会去一条一条的from…impot,而是
123456from A import *testa.funca()'''out:NameError: name 'testa' is n ...