由沃德(Brian Ward)著,姜南、袁志鵬譯的《精通Linux(第2版)》講解了Linux操作系統的工作機制以及運行Linux系統所需的常用工具和命令。根據系統啟動的大體順序,本書更深入地介紹從設備管理到網絡配置的各個部分,最后演示了系統各部分的運行方式,并介紹了一些基本技巧和開發人員常用的工具。
Linux不像其他操作,會對用戶隱藏很多重要的東西。相反,Linux會讓用戶掌控一切。而要掌控一切,就必須理解這個操作系統的工作機制,包括如何啟動、如何連網,以及Linux內核如何工作。本書是暢銷書的新版本,作者擁有多年的實踐經驗,內容通俗易懂。通過這本書,讀者可以迅速從Linux新手變成老鳥,把作者豐富的經驗裝進自己的知識庫。
<章節目錄>
第1章概述 第2章基礎命令和目錄結構 第3章設備管理 第4章硬盤和文件系統 第5章Linux內核的啟動 第6章用戶空間的啟動 第7章系統配置:日志、系統時間、批處理任務和用戶 第8章進程與資源利用詳解 第9章網絡與配置 第10章網絡應用與服務 第11章shell腳本 第12章在網絡上傳輸文件 第13章用戶環境 第14章Linux桌面概覽 第15章開發工具 第16章從C代碼編譯出軟件 第17章在基礎上搭建
C++17是現代 C++編程中的下一個版本,最新版本的gcc、clang和 Visual C++ 都至少已經部分支持它。盡管 遷移到 C++17 并不像遷移到 C++11一樣是一個巨大的變化,但 C++17也包含了非常多很小但卻很有價值的語言 和庫特性。它們再一次改變了我們使用 C++編程的方式,無論是對應用程序員還是提供基礎庫的程序員來說都 是如此。這本書將會展現出 C++17 中所有的新的語言和庫特性。除了用例子展示這些特性的使用之外,本書還將覆 蓋這些特性的動機和背景信息。像我的其他書一樣,這本書也將專注于這些新特性在實踐中的應用,并演示這 些特性如何影響我們的日常編程和如何在項目中受益于這些特性。
本書的整體結構
這本書覆蓋了 C++17 引入的所有變化。既包括影響應用程序員日常編程的那些語言和庫特性,也包括那些 用于編寫復雜的(基礎)庫實現的特性。然而,更一般的情況和相關示例會放在前面。
不同的章節被分成若干組,除了最先介紹的語言特性可能會被后面的庫特性使用之外,這樣分組并沒有什么 深層的原因。理論上,你可以以任意順序閱讀這些章節。如果會用到其他章節的特性,那么將會有相應的交叉 引用。結果是,這本書包括以下部分:
? Part I覆蓋了新的非模板語言特性。
? Part II 覆蓋了用于模板泛型編程的新的語言特性。
? Part III 介紹了新的標準庫組件。
? Part IV 覆蓋了現有標準庫組件的擴展和修改。
? Part V覆蓋了為專家例如基礎庫程序員設計的語言和庫特性。
? Part VI 包含了有關 C++17的一些通用的提示
目錄內容: 第一部分 基本語言特性
第一章 結構化綁定
第二章 帶初始化的 if 和 switch 語句
第三章 內聯變量
第四章 聚合體擴展
第五章 強制省略拷貝或傳遞未實質化的對象
第六章 lambda 表達式擴展
第七章 新屬性和屬性特性
第八章 其他語言特性
第二部分 模板特性
第九章 類模板參數推導
第十章 編譯期 if 語句
第十一章 折疊表達式
第十二章 處理字符串字面量模板參數
第十三章 占位符類型作為模板參數
第十四章 擴展的 using 聲明
第三部分 新的標準庫組件
第十五章 std::optional<>
第十六章 std::variant<>
第十七章 std::any
第十八章 std::byte
第十九章 字符串視圖
第二十章 文件系統庫
第四部分 已有標準庫的擴展和修改
第二十一章 類型特征擴展
第二十二章 并行 STL 算法
第二十三章 新的 STL 算法詳解
第二十四章 子串和子序列搜索器
第二十五章 其他工具函數和算法
第二十六章 容器和字符串擴展
第二十七章 多線程和并發
第二十八章 標準庫的其他微小特性和修改
第五部分 專家的工具
第二十九章 多態內存資源 (PMR)
第三十章 使用 new 和 delete 管理超對齊數據
第三十一章 std::to_chars() 和 std::from_chars()
第三十二章 std::launder()
第三十三章 編寫泛型代碼的改進
第六部分 一些通用的提示
第三十四章 總體性的 C++17 事項
第三十五章 廢棄和移除的特性
計算機視覺是在圖像處理的基礎上發展起來的新興學科。OpenCV是一個開源的計算機視覺庫, 是英特爾公司資助的兩大圖像處理利器之一。它為圖像處理、模式識別、三維重建、物體跟蹤、機器 學習和線性代數提供了各種各樣的算法。本書由OpenCV發起人所寫,站在一線開發人員的角度用通俗易懂的語言解釋了OpenCV的緣起和 計算機視覺基礎結構,演示了如何用OpenCV和現有的自由代碼為各種各樣的機器進行編程,這些都 有助于讀者迅速入門并漸入佳境,興趣盎然地深入探索計算機視覺領域。本書可作為信息處理、計算機、機器人、人工智能、遙感圖像處理、認知神經科學等有關專業的 高年級學生或研究生的教學用書,也可供相關領域的研究工作者參考。
前言
這本書提供了C++開源計算機視覺庫(OpenCV)3.0版本的工作指南,介紹了計算機視覺相關領域的通用背景,以便讀者更有效地使用OpenCV。
本書的目標 計算機視覺在以下四個趨勢的引導下,已經成為一個快速發展的領域: ? 智能手機的出現讓數以百萬計的用戶都擁有了相機 ? 互聯網和搜索引擎聚集了海量的圖像和視頻數據 ? 計算資源變成一種廉價的商品 ? 視覺算法發展得更加成熟(由于深度神經網絡的出現,OpenCV也正在逐漸支持這方面技術,詳情可以參考opencv_contrib中的dnn)
OpenCV通過幫助成千上萬的視覺工作者去做更多富有創造性的工作,在圖像處理領域扮演著重要的角色。由于OpenCV 3.x的存在,不管你是學生還是研究人員,是專家還是初學者,都可以快速建立應用,并且在OpenCV所提供的基于C++的多平臺視覺基礎架構上實現一個跨越性的發展。
本書的目標如下: ? 通過詳細講述函數的慣用用法以及正確用法,成為一本更好的OpenCV經典參考文檔 ? 幫助讀者對各種計算機視覺算法的工作原理有一個基礎的理解 ? 培養讀者,使其知道什么算法工具可以使用并且應該在什么時候使用 ? 提供給讀者許多有效的代碼,提升其應用計算機視覺和機器學習算法的開發效率 ? 針對問題代碼給讀者提供建議,教讀者如何解決一些簡單或復雜的問題
本書的寫作方式是力求幫助讀者快速在計算機視覺領域做一些有意思的事情,因此直觀地解釋了算法是如何工作的,可以指導讀者設計和調試計算機視覺程序,還能夠使計算機視覺和機器學習算法的形式化描述更容易理解和記憶。
近年來,自然語言處理的研究方法取得了一些突破。這些突破來源于兩個新的建模框架以及在計算和詞匯資源的可用性的改進。在這個研討會小冊子中,我們將回顧這些框架,以一種可以被視為現代自然語言處理開端的方法論開始:詞嵌入。我們將進一步討論將嵌入式集成到端到端可訓練方法中,即卷積神經網絡和遞歸神經網絡。這本小冊子的第二章將討論基于注意力的模型的影響,因為它們是最近大多數最先進的架構的基礎。因此,我們也將在本章中花很大一部分時間討論遷移學習方法在現代自然語言處理中的應用。最后一章將會是一個關于自然語言生成的說明性用例,用于評估最先進的模型的訓練前資源和基準任務/數據集。
//compstat-lmu.github.io/seminar_nlp_ss20/
在過去的幾十年里,人工智能技術的重要性和應用不斷得到關注。在當今時代,它已經與構成人類塑造環境的大部分環境密不可分。因此,商業、研究和開發、信息服務、工程、社會服務和醫學等無數部門已經不可逆轉地受到人工智能能力的影響。人工智能有三個主要領域組成了這項技術:語音識別、計算機視覺和自然語言處理(見Yeung (2020))。在這本書中,我們將仔細研究自然語言處理(NLP)的現代方法。
這本小冊子詳細介紹了用于自然語言處理的現代方法,如深度學習和遷移學習。此外,本研究亦會研究可用于訓練自然語言處理任務的資源,并會展示一個將自然語言處理應用于自然語言生成的用例。
為了分析和理解人類語言,自然語言處理程序需要從單詞和句子中提取信息。由于神經網絡和其他機器學習算法需要數字輸入來進行訓練,因此應用了使用密集向量表示單詞的詞嵌入。這些通常是通過有多個隱藏層的神經網絡學習的,深度神經網絡。為了解決容易的任務,可以應用簡單的結構神經網絡。為了克服這些簡單結構的局限性,采用了遞歸和卷積神經網絡。因此,遞歸神經網絡用于學習不需要預先定義最佳固定維數的序列的模型,卷積神經網絡用于句子分類。第二章簡要介紹了NLP中的深度學習。第三章將介紹現代自然語言處理的基礎和應用。在第四章和第五章中,將解釋和討論遞歸神經網絡和卷積神經網絡及其在自然語言處理中的應用。
遷移學習是每個任務或領域的學習模型的替代選擇。在這里,可以使用相關任務或領域的現有標記數據來訓練模型,并將其應用到感興趣的任務或領域。這種方法的優點是不需要在目標域中進行長時間的訓練,并且可以節省訓練模型的時間,同時仍然可以(在很大程度上)獲得更好的性能。遷移學習中使用的一個概念是注意力,它使解碼器能夠注意到整個輸入序列,或自注意,它允許一個Transformer 模型處理所有輸入單詞,并建模一個句子中所有單詞之間的關系,這使得快速建模一個句子中的長期依賴性成為可能。遷移學習的概念將在小冊子的第6章簡要介紹。第七章將通過ELMo、ULMFiT和GPT模型來描述遷移學習和LSTMs。第八章將詳細闡述注意力和自注意力的概念。第九章將遷移學習與自注意力相結合,介紹了BERT模型、GTP2模型和XLNet模型。
為NLP建模,需要資源。為了找到任務的最佳模型,可以使用基準測試。為了在基準實驗中比較不同的模型,需要諸如精確匹配、Fscore、困惑度或雙語評估替補學習或準確性等指標。小冊子的第十章簡要介紹了自然語言處理的資源及其使用方法。第11章將解釋不同的指標,深入了解基準數據集SQuAD、CoQa、GLUE和SuperGLUE、AQuA-Rat、SNLI和LAMBADA,以及可以找到資源的預訓練模型和數據庫,如“帶代碼的論文”和“大壞的NLP數據庫”。
在小冊子的最后一章中,介紹了生成性NLP處理自然語言生成,從而在人類語言中生成可理解的文本。因此,不同的算法將被描述,聊天機器人和圖像字幕將被展示,以說明應用的可能性。
本文對自然語言處理中各種方法的介紹是接下來討論的基礎。小冊子的各個章節將介紹現代的NLP方法,并提供了一個更詳細的討論,以及各種示例的潛力和限制。
這本《Linear Algebra Done Right》雖然只有 352 頁,但是內容非常全面,基本涵蓋了線性代數的各個方面,包括:向量空間、線性獨立、跨度、基礎和維度、線性映射、特征值和特征向量等等。
內容上來說也是圖文并茂,不僅提供知識點的證明,還有相應的例子加以解釋。
//www.springer.com/gp/book/9783319110790
第1章 向量空間 第2章 有限維向量空間 第3章 線性映射 第4章 多項式 第5章 特征值、特征向量、不變量子空間 第6章 內積空間 第7章 內積空間上的算子 第8章 復向量空間上的算子 第9章 實向量空間上的算子 第10章 跡與行列式
本書圍繞虛擬化、并發和持久性這三個主要概念展開,介紹了所有現代系統的主要組件(包括調度、虛擬內存管理、磁盤和I/O子系統、文件系統)。全書共50章,分為3個部分,分別講述虛擬化、并發和持久性的相關內容。作者以對話形式引入所介紹的主題概念,行文詼諧幽默卻又鞭辟入里,力求幫助讀者理解操作系統中虛擬化、并發和持久性的原理。本書內容全面,并給出了真實可運行的代碼(而非偽代碼),還提供了相應的練習,很適合高等院校相關專業的教師開展教學和高校學生進行自學。?
本書具有以下特色:
這本書的前半部分快速而徹底地概述了Python的所有基礎知識。你不需要任何以前的經驗與編程開始,我們將教你一切你需要知道,一步一步。
第二部分著重于用Python以實用的方式解決有趣的、真實的問題。一旦你掌握了基礎知識,你就會通過跟隨我們的動手編程練習和項目迅速提高。
我們在書中的每一頁都精心安排了漂亮的排版,代碼示例的語法高亮顯示,以及教學截圖,這樣你可以有效地處理和記憶信息:
所有材料都是Python 3.9的最新版本,Python編程語言在2020年發布的最新和最好的版本。簡而言之,以下是你將學到的Python基礎知識:Python 3的實用介紹:
安裝和運行Python:在Windows、macOS或Linux上設置Python 3.9編碼環境
核心Python 3概念和約定:解釋器會話、腳本、查找和修復代碼bug、如何組織代碼和構造Python程序、如何有效地學習和實踐
Python 3.9基本原理:變量、基本數據類型、函數和循環、條件邏輯和控制流、字符串格式、列表/元組/字典、文件輸入和輸出、錯誤處理。
中級Python概念:面向對象編程(OOP)、正則表達式、名稱空間和作用域、異常處理、安裝第三方包。
Python的實際使用:創建和修改PDF文件、使用數據庫、從web下載和抓取內容、數據科學基礎(科學計算和繪圖)、圖形用戶界面和GUI編程。
這本書向讀者介紹點估計、置信區間和統計檢驗。基于線性模型的一般理論,本文對以下內容進行了深入的概述:固定效應、隨機效應和混合效應模型的方差分析;在擴展到非線性模型之前,回歸分析也首先出現在具有固定、隨機和混合效應的線性模型中;統計多決策問題,如統計選擇程序(Bechhofer和Gupta)和順序測試;從數理統計的角度設計實驗。大多數分析方法都補充了最小樣本量的公式。這些章節還包含了解答的提示練習。
內容簡介這本書的前四章集中在足夠的理論和基礎,給你,實踐者,為這本書剩下的部分一個工作的基礎。最后五章將從這些概念出發,帶領您通過一系列使用DL4J進行深度學習的實踐路徑。
在本書中,我們交替使用DL4J和Deeplearning4j這兩個名稱。這兩個術語都指的是Deeplearning4j庫中的工具套件。
我們以這種方式設計這本書,因為我們覺得有必要讓這本書既包含足夠的理論,又足夠的實際,以構建生產級的深度學習工作流。我們認為,這種混合方法的書的覆蓋面適合這個空間。
第一章回顧了機器學習的一般概念,特別是深度學習,讓讀者快速了解了解本書其余部分所需要的基礎知識。我們增加了這一章,因為許多初學者可以使用這些概念的復習或入門,我們想讓盡可能多的讀者可以訪問這個項目。
第2章以第1章的概念為基礎,并為您提供了神經網絡的基礎。它在很大程度上是神經網絡理論的一個章節,但是我們的目標是用一種可訪問的方式來呈現信息。
第三章在前兩章的基礎上更進一步,讓你了解網絡是如何從神經網絡的基本原理發展而來的。
第四章介紹了深層網絡的四種主要架構,并為本書的其余部分提供了基礎。
在第5章中,我們將使用前半部分中的技術,帶您瀏覽一些Java代碼示例。
第6章和第7章討論了調優一般神經網絡的基本原理,然后討論了如何調優深度網絡的特定架構。這些章節是平臺無關的,將適用于任何深度學習庫的實踐。
第8章是對矢量化技術和如何使用DataVec (DL4J的ETL和矢量化工作流工具)的基礎知識的回顧。
第9章總結了該書的主體部分,回顧了如何在Spark和Hadoop上本地使用DL4J,并舉例說明了可以在自己的Spark集群上運行的三個實際示例。
這本書有許多附錄章節的主題是相關的,但不適合直接放在主要章節。主題包括:
部分截圖:
本備忘單是機器學習手冊的濃縮版,包含了許多關于機器學習的經典方程和圖表,旨在幫助您快速回憶起機器學習中的知識和思想。
這個備忘單有兩個顯著的優點:
清晰的符號。數學公式使用了許多令人困惑的符號。例如,X可以是一個集合,一個隨機變量,或者一個矩陣。這是非常混亂的,使讀者很難理解數學公式的意義。本備忘單試圖規范符號的使用,所有符號都有明確的預先定義,請參見小節。
更少的思維跳躍。在許多機器學習的書籍中,作者省略了數學證明過程中的一些中間步驟,這可能會節省一些空間,但是會給讀者理解這個公式帶來困難,讀者會在中間迷失。