For Eric Deggans, the TV and media critic for the Tampa Bay Times, code-switching wasn't always easy — and he learned it the hard way.
The study compared the habits and activities of 314 adults who had been tested for the virus. Those who tested positive more often reported dining at a restaurant within 14 days of showing symptoms.
What do you do when you’re Jewish, but your name doesn’t “sound” Jewish?
The Cambridge Handbook of Heritage Languages and Linguistics
Scientists studying Antarctica's Thwaites Glacier, also called the "Doomsday Glacier," have made a shocking discovery: it is melting faster than expected.
Spain expelled its Jews in the 15th century, and some believe these conversos sought refuge from the Inquisition in what is now a Texas border region. Had one woman's family been Jewish all along?
A warning about China's ambitious attempts to revive its economy has been issued by new study, as economies around the world continue to negotiate the
To support change, you must be an ally to others, whether professionally or personally, but what it means to be an ally in a healthcare setting today?
In 2017, FIELD started an extensive research project exploring the most relevant smart technologies in code-based illustrations. From an in-depth study of their logic and code, and with a new visual language, they created a series of illustrations that re…
How I color code my Bible! 💛🌈 Color coding your Bible helps retain information because you are actively doing something while reading it. It also makes it easier to look back for something you are studying and looking for! If you guys want an in depth of how I study the Bible let me know!! #bible #biblestudy #christiantiktok #fyp #christiangirl
Brief: Could we become No. 1 without increasing the number of stores? We made an in-depth study into Koreans once more. Korean are the 2nd most hard-working country in the world! For them, grocery shopping once a week is a dreaded task. So we decided to approach these busy and tired people. Creative Execution: South Korea is a unique market. Even the most powerful global corporations tend to fail miserably in the Korean market. Walmart and Carrefour had to pack up their bags and leave. On the contrary, Tesco has been evolving itself, adjusting to the local market. It even changed the name itself, from Tesco to Homeplus! And at last, it grew to rank No. 2 in Korea! But Tesco had to overcome one obstacle? A fewer number of stores compared to the number one company, E-mart. Solution: Let the store come to people! We created virtual stores in subway station hoping to blend into people's everyday lives. Our first try was busy subway station in rush hours. Although virtual, the displays were exactly the same as actual stores - from the display to merchandises. Only one thing is different, you use smart phones to shop! Scan the QR code with your phone, and the product automatically lands in your on-line cart! When the online purchase is done, it will be delivered to your door right after you get home. Results: People could meet Tesco Homeplus wherever they go, not having to visit the actual store. Moreover they could make good use of the wasted times and enjoy their free time. After this campaign, on-line sales increased tremendously (Nov.2010-Jan.2011). Through this campaign, 10,287 consumers visited the online Homeplus mall using smartphones. The number of new registered members rose by 76%, and on-line sales increased 130%. Currently, Homeplus has become No.1 in on-line market and is a very close 2nd offline.
Mga Simple at maliliit na bahay na pwedeng magaya para sa pinapangarap mong tahanan. THIS MIGHT INTEREST YOU: 5 BEAUTIFUL HOUSE STOCK IMAGES WITH CONSTRUCTION PLAN 25 TINY BEAUTIFUL HOUSE(VERY SMALL HOUSE) ELVIRA - 2 BEDROOM SMALL HOUSE PLAN WITH PORCH PLAN DESCRIPTION Elvira model is a 2-bedroom small house plan with porch roofed by a concrete deck canopy and supported by two square columns. This house plan has an open garage that can accommodate 2 cars. Why open garage? simply because, client have option to choose from an open and roofed one. Design can always be customized to add roof on the garage. The porch is 4.5 x 1.5 m in size having 2 steps elevating it to 300 mm from the ground or the floor level in the garage. The roof of the porch is a solid reinforced concrete supported by a twin column on the left side adding some style on the front elevation. advertisement HOUSE PLAN DETAILS Plan Code: PHP-2015018 Small House Plans Bedrooms: 2 Bathrooms: 1 Floor Area: 60 sq.m. Lot Size: 160 sq.m. ESTIMATED COST RANGE Budget on different Finishes which already include Labor and Materials. It is also within the range of total construction cost quoted by most builders. Please note that these budgets are computed and based on the total floor area multiplied by a unit cost per sq.m. which are bull park figures. Final budget will be quantified and based on the final plans. Total Floor Area (in sq.m.) 60 Rough Finished Budget: P720,000 - P840,000 Semi Finished Budget: P960,000 - P1,080,000 Conservatively Finished Budget: P1,200,000 - P1,320,000 Elegantly Finished Budget: P1,440,000 - P1,680,000 FLOOR PLAN CONTACT INFO Pinoy House Plans Bayugan City, Agusan Del Sur 8502 Phone : 085-343-6698 Email : [email protected] Facebook:https://web.facebook.com/pinoyhouseplans ALSO VISIT: 10 BUNGALOW & SINGLE STORY MODERN HOUSE WITH FLOOR PLANS AND ESTIMATED COST MARIEDITH - 2 BEDROOM CONTEMPORARY HOUSE PLAN PLAN DESCRIPTION Mariedith is a 2 bedroom contemporary house plan with interesting design features namely; circular columns, concrete mouldings, long span ribbed type green roofing, arched aluminum window front and others. The interior layout of this contemporary house plan is very simple since its only two bedrooms. Entering an arched patio, the main entrance opens to the living room, a the combined dining and kitchen. Considering privacy in the design, the common toilet and bath is covered by extending the masonry partition to conceal the bathroom a bit. To the right is the master’s bedroom and in the opposite side is the 4 m by 3.5 m bedroom. Both bedrooms have the option to have built-in cabinets. HOUSE PLAN DETAILS Plan Code: PHP-2015017 Contemporary House Plans Bedrooms: 2 Bathrooms: 1 Floor Area: 75 sq.m. Lot Size: 170 sq.m. ESTIMATED COST RANGEEnter Total Floor Area (in sq.m.) 75 Rough Finished Budget P900,000 - P1,050,000 Semi Finished Budget P1,200,000 - P1,350,000 Conservatively Finished Budget P1,500,000 - P1,650,000 Elegantly Finished Budget P1,800,000 - P2,100,000 FLOOR PLAN CONTACT INFO Pinoy House Plans Bayugan City, Agusan Del Sur 8502 Phone : 085-343-6698 Email : [email protected] Facebook:https://web.facebook.com/pinoyhouseplans SMALL HOUSE PLANS SERIES, PHP-2015015 PLAN DESCRIPTION A three-bedroom, two toilet and baths floor plan found in this small house plan is what PHP-2015015 comfortably offers. Upon entering the gate, the garage can serve as is and also patio when its empty. The main entry opens to a foyer which leads to the dining and an open ended living area.The kitchen is equipped with a storage and a mini-bar or nook where you can take a short breakfast and coffee time. The master’s bedroom which is conveniently situated at the left has its own walk-in closet and master bath. The 2 bedrooms share a common toilet and bath. Small house plans have the characteristics of being compact in design, organized and well used spaces or areas. HOUSE PLAN DETAILS Plan Code: PHP-2015015 Small House Plans Bedrooms: 3 Bathrooms: 2 Floor Area: 121 sq.m. Lot Size: 246 sq.m. Garage: 1 ESTIMATED COST RANGE Enter Total Floor Area (in sq.m.) 121 Rough Finished Budget: P1,452,000 - P1,694,000 Semi Finished Budget: P1,936,000 - P2,178,000 Conservatively Finished Budget: P2,420,000 - P2,662,000 Elegantly Finished Budget: P2,904,000 - P3,388,000 FLOOR PLAN CONTACT INFO Pinoy House Plans Bayugan City, Agusan Del Sur 8502 Phone : 085-343-6698 Email : [email protected] Facebook:https://web.facebook.com/pinoyhouseplans SMALL HOUSE PLAN SERIES : PHP-2014002 PLAN DESCRIPTION This house plan belongs to our small house plans series which is another variation of PHP-2014001. A living room with 2.80 m x 3.0 m, a combine dining and kitchen with a 10.2 sq. m. area a functional bathroom and a bedroom with a small built-in cabinet. This small house plan is only 39.0 sq. m. floor area and can be erected on a lot with 102.7 sq. m. or 9.6 m x 10.7 m in dimension. Small house plans like this can be built as a single detached or single attached, fire-walled on the bedroom side thereby also maximizing the lot. With this style fire-walled on one side you can use a lot with a frontage width of 6.3 m and depth of 10.7 m. HOUSE PLAN DETAILS Plan Code: PHP-2014002 Small House Plans Bedrooms: 1 Bathrooms: 1 Floor Area: 39 sq.m. Lot Size: 103 sq.m. ESTIMATED COST RANGE Total Floor Area (in sq.m.)39 Rough Finished Budget P468,000 - P546,000 Semi Finished Budget P624,000 - P702,000Conservatively Finished Budget P780,000 - P858,000 Elegantly Finished Budget P936,000 - P1,092,000 FLOOR PLAN CONTACT INFO Pinoy House Plans Bayugan City, Agusan Del Sur 8502 Phone : 085-343-6698 Email : [email protected] Facebook:https://web.facebook.com/pinoyhouseplans SMALL HOUSE PLANS SERIES: PHP-2014001 PLAN DESCRIPTION A small house plan with one bedroom and 1 bathroom. The living room opens to the dining and kitchen. This house plan can be built in a lot in as little as 75 sq.m. with a frontage width of 7.5 meters. Small house plans generally caters Filipino families with small budget since the total floor area is only 36.6 sq.m. Realizing your dream home does not really matter whether big or small, as long as it is a functional house, this can be your dream house. Feel free to use this small house plan for your future house. There is not much to describe in this house plan due to its simplicity and small area. Having a small lot area, this Pinoy house plan can be a good choice or an alternative design caters or intended mostly for low earning Pinoys. The important thing is that lot owners have a decent place to live and realize their dream of having their own house. HOUSE PLAN DETAILS Plan Code: PHP-2014001 Small House Plans Bedrooms: 1 Bathrooms: 1 Floor Area: 37 sq.m. Lot Size: 75 sq.m. ESTIMATED COST RANGE Total Floor Area (in sq.m.) 37 Rough Finished Budget: P444,000 - P518,000 Semi Finished Budget: P592,000 - P666,000 Conservatively Finished Budget: P740,000 - P814,000 Elegantly Finished Budget P888,000 - P1,036,000 FLOOR PLAN CONTACT INFO Pinoy House Plans Bayugan City, Agusan Del Sur 8502 Phone : 085-343-6698 Email : [email protected] Facebook:https://web.facebook.com/pinoyhouseplans PHP-2015022 - SMALL EFFICIENT HOUSE PLAN WITH PORCH PLAN DESCRIPTION PHP-2015022, is a 3 bedroom 2 toilet and bath small efficient house plan with porch and also a single attached house. Good living is experienced in this house plan with a total floor area of 93 sq.m.. Bedroom 1 which can also be a master’s bedroom has its own Toilet and bath and optional built-in cabinets. The other 2 bedrooms which is located opposite to the master’s bedroom share a common toilet and bath at the kitchen area. The porch will welcome you to enter the living room strategically located at the center of this small efficient house plan and all the way to the open dining and kitchen. A well defined kitchen has a L-type counter which is very efficient for space saving. HOUSE PLAN DETAILS Plan Code: PHP-2015022 Small House Plans Bedrooms: 3 Bathrooms: 2 Floor Area: 93 sq.m. Lot Size: 150 sq.m. ESTIMATED COST RANGE Budget on different Finishes which already include Labor and Materials. It is also within the range of total construction cost quoted by most builders. Please note that these budgets are computed and based on the total floor area multiplied by a unit cost per sq.m. which are bull park figures. Final budget will be quantified and based on the final plans. Total Floor Area (in sq.m.): 93 Rough Finished Budget: P1,116,000 - P1,302,000 Semi Finished Budget: P1,488,000 - P1,674,000 Conservatively Finished Budget: P1,860,000 - P2,046,000 Elegantly Finished Budget: P2,232,000 - P2,604,000 FLOOR PLAN CONTACT INFO Pinoy House Plans Bayugan City, Agusan Del Sur 8502 Phone : 085-343-6698 Email : [email protected] Facebook:https://web.facebook.com/pinoyhouseplans advertisement SMALL HOUSE DESIGN SERIES : SHD-2014008 PLAN DESCRIPTION Small house design SHD-201008 is a 60.0 sq.m. floor area which can be built in a 135.0 sq.m. lot area. The lot frontage should be at least 11.65 m which already accommodate the width of the house including the eaves. This house design can also be built on a narrow lot provided that the roof will be re-designed to conform to a single attached type of house design or shall we say that one side of the house will be fire-walled. Although small house floor plans are limited with floor area, this is the typical house plans preferred in the Philippines due to its economic aspect. Small house designs are also the first choice of property developers as these will cater most of the average Filipino families. HOUSE PLAN DETAILS Floor Plan Code: SHD-2014008 Beds: 2 Baths: 1 Floor Area: 60 sq.m. Lot Area: 136 sq.m ESTIMATED COST RANGE Budget in different Finishes. Values shown here are rough estimate for each finishes and for budgetary purposes only. Budget already includes Labor and Materials and also within the range quoted by most builders. Budget Currency is in Philippine Peso (PHP). Rough Finished Budget:720,000 – 840,000 Semi Finished Budget:960,000 – 1,080,000 Conservatively Finished Budget:1,200,000 – 1,320,000 Elegantly Finished Budget:1,440,000 – 1,680,000 FLOOR PLAN CONTACT INFO Pinoy ePlans P-8 Maygatasan Bayugan City, Agusan Del Sur 8502 Phone 1: 085 303 0167 Email 1: [email protected] Email 2: [email protected] Facebook: https://web.facebook.com/Pinoyeplans/ Website: http://www.pinoyeplans.com/ SMALL HOUSE DESIGN SERIES, SHD-2015015 PLAN DESCRIPTION Making sure that you are not stuck on one design and one concept, this house design is another scheme for Small House Design Series: SHD-2014009. With hip roof style roofing this house offers simplicity yet looking elegant. The house plan features porch, entry, rear patio and service area. The two bedrooms located at the front have there own built-in cabinets and the master’s bedroom with its own walk-in closet and master’s bathroom. Two bedrooms share a common toilet located in between the master’s bedroom and bedroom 2. HOUSE PLAN DETAILS Floor Plan Code: SHD-2015015 Small House Designs Beds: 3 Baths: 2 Floor Area: 121 sq.m. Lot Area: 246 sq.m. Garage: 1 ESTIMATED COST RANGE Budget in different Finishes. Values shown here are rough estimate for each finishes and for budgetary purposes only. Budget already includes Labor and Materials and also within the range quoted by most builders. Budget Currency is in Philippine Peso (PHP). Rough Finished Budget:1,450,000 – 1,694,000 Semi Finished Budget: 1,936,000 – 2,178,000 Conservatively Finished Budget: 2,420,000 – 2,662,000 Elegantly Finished Budget: 2,904,000 – 3,388,000 FLOOR PLAN CONTACT INFO Pinoy ePlans P-8 Maygatasan Bayugan City, Agusan Del Sur 8502 Phone 1: 085 303 0167 Email 1: [email protected] Email 2: [email protected] Facebook: https://web.facebook.com/Pinoyeplans/ Website: http://www.pinoyeplans.com/ SHD-2012003 PLAN DESCRIPTION This 2 bedroom small house design is a compact house plan which can be build in a small lot. A 10.o meter x 11.0 meter lot size can accommodate this small house in a semi-detached construction. Having said that, the left side wall will be totally closed to be on the boundary line. This design has a floor area of approximately 52.0 sq.m. including the Entry Porch. SHD-2012002 maybe a small house design but it has also interesting architectural features such as pre-painted Spanish style roofing, wrought iron french windows, concrete mouldings and stone veneers. HOUSE PLAN DETAILS Floor Plan Code: SHD-2012003 Beds: 2 Baths: 1 Floor Area: 52 sq.m. Lot Area: 110 sq.m ESTIMATED COST RANGE Budget in different Finishes. Values shown here are rough estimate for each finishes and for budgetary purposes only. Budget already includes Labor and Materials and also within the range quoted by most builders. Budget Currency is in Philippine Peso (PHP). Rough Finished Budget: 624,000 – 728,000 Semi Finished Budget: 832,000 – 936,000 Conservatively Finished Budget:1,040,000 – 1,144,000 Elegantly Finished Budget:1,248,000 – 1,456,000 FLOOR PLAN CONTACT INFO Pinoy ePlans P-8 Maygatasan Bayugan City, Agusan Del Sur 8502 Phone 1: 085 303 0167 Email 1: [email protected] Email 2: [email protected] Facebook: https://web.facebook.com/Pinoyeplans/ Website: http://www.pinoyeplans.com/ SMALL HOUSE DESIGN: SHD-2014007 PLAN DESCRIPTION This house plan is a 125 sq. m. floor plan with 3 bedrooms and 3 bathrooms. The 3 bathrooms are located one at the Master’s Bedroom, the second one is shared by 2 bedrooms and the third one is situated at the kitchen area for guest and convenience of the house owners. This house design features elevated bedrooms, accent brick walls, playroom which can be converted to study room, Lanai, elevated porch, arched windows on bedrooms. Small house designs like this one can be built on a lot having 15 meters by 15 meters dimension and still providing minimum allowances from boundary lines or property lines. HOUSE PLAN DETAILS Floor Plan Code: SHD-2014007 Beds: 3 Baths: 3 Floor Area: 125 sq.m. Lot Area: 225 sq.m ESTIMATED COST RANGE Budget in different Finishes. Values shown here are rough estimate for each finishes and for budgetary purposes only. Budget already includes Labor and Materials and also within the range quoted by most builders. Budget Currency is in Philippine Peso (PHP). Rough Finished Budget 1,500,000 – 1,750,000 Semi Finished Budget 2,000,000 – 2,250,000 Conservatively Finished Budget 2,500,000 – 2,750,000 Elegantly Finished Budget 3,000,000 – 3,500,000 FLOOR PLAN CONTACT INFO Pinoy ePlans P-8 Maygatasan Bayugan City, Agusan Del Sur 8502 Phone 1: 085 303 0167 Email 1: [email protected] Email 2: [email protected] Facebook: https://web.facebook.com/Pinoyeplans/ Website: http://www.pinoyeplans.com/ SMALL HOUSE DESIGN: SHD-2015010 PLAN DESCRIPTION This small house design can be built in a lot having an area of 340.0 sq.m. This design can best fit on a 17.0 meters lot frontage. Smaller lots can also accommodate this design provided that the rear side will be fire-walled thereby saving a 2 meters on the lot depth or length. The porch is elevated by 3 steps and upon entering the living room there is a 75 mm rise in the main floor. The dining room is next where in the rear window is just a mirror of the sets of windows at the front located at the living room. The Master’s bedroom is 14 sq.m. floor area with its own walk-in closet and bathroom. The 2 other bedrooms shares a common bath. The well organized kitchen with a small counter type nook is the center of activities of the housewife. It is also augmented by a dirty kitchen in case activities in the main kitchen will be very busy. This mall house design is tailored to a specific client whose needs are all mentioned previously. HOUSE PLAN DETAILS Floor Plan Code: SHD-2015010 Beds: 3 Baths: 2 Floor Area: 148 sq.m. Lot Area: 340 sq.m. ESTIMATED COST RANGE Budget in different Finishes. Values shown here are rough estimate for each finishes and for budgetary purposes only. Budget already includes Labor and Materials and also within the range quoted by most builders. Budget Currency is in Philippine Peso (PHP). Rough Finished Budget 1,776,000 – 2,072,000 Semi Finished Budget 2,368,000 – 2,664,000 Conservatively Finished Budget 2,960,000 – 3,256,000 Elegantly Finished Budget 3,552,000 – 4,144,000 FLOOR PLAN CONTACT INFO Pinoy ePlans P-8 Maygatasan Bayugan City, Agusan Del Sur 8502 Phone 1: 085 303 0167 Email 1: [email protected] Email 2: [email protected] Facebook: https://web.facebook.com/Pinoyeplans/ Website: http://www.pinoyeplans.com/ SMALL HOUSE DESIGN: SHD-2015014 PLAN DESCRIPTION Small house design 2015014 is a contemporary design with 4 bedrooms including the maid’s room. This house can be built in a 269 sq.m. lot having at least 15 meters width or frontage. With this lot area, the setback on the right and rear side is 2m from the lot boundary and fire-walled at the garage side. From the gate the house has a setback of 3 meters. Opening to the right of the Patio is an open ended living room where in the dining and kitchen can be readily accessed. This house plan is provided with 2 bathrooms which can served all the occupants. The bathroom near the Master’s bedroom can also be customized to serve only the master’s bedroom for privacy and convenience of the Land lord. With this house design, it may not be a typical house for Filipinos in general since it requires a bigger lot. Still, this would be a good choice for families dreaming to have their own house in the future. HOUSE PLAN DETAILS Floor Plan Code: SHD-2015014 Beds: 4 Baths: 2 Floor Area: 134 sq.m. Lot Area: 269 sq.m. Garage: 1 ESTIMATED COST RANGE Budget in different Finishes. Values shown here are rough estimate for each finishes and for budgetary purposes only. Budget already includes Labor and Materials and also within the range quoted by most builders. Budget Currency is in Philippine Peso (PHP). Rough Finished Budget 1,608,000 – 1,876,000 Semi Finished Budget 2,144,000 – 2,412,000 Conservatively Finished Budget 2,680,000 – 2,948,000 Elegantly Finished Budget 3,216,000 – 3,752,000 FLOOR PLAN CONTACT INFO Pinoy ePlans P-8 Maygatasan Bayugan City, Agusan Del Sur 8502 Phone 1: 085 303 0167 Email 1: [email protected] Email 2: [email protected] Facebook: https://web.facebook.com/Pinoyeplans/ Website: http://www.pinoyeplans.com/ advertisement 30 SMALL HOUSE, FARM HOUSE, POOL HOUSE, and HOUSE IDEAS SEE ALSO: BEAUTIFUL BUNGALOW HOUSE: HOME PLANS AND DESIGNS WITH PHOTOS This article is filed under: Small Cottage Designs, Small Home Design, Small House Design Plans, Small House Design Inside, Small House Architecture
Original JLH1969 Class A amp schematic The John Linsley-Hood 1969 Class A amplifier circuit is a classic solid state design that is carefully studied by audio designers. Even the great Nelson Pass revisited this circuit when he embarked on low wattage amplifier designs. It has been described as one of the most tube sounding solid state amplifier designs, which is not surprising since John Linsley-Hood's references were tube amplifiers. Here's a link to the 1969 article published by Wireless World. Since I am a DIYer at heart, I originally considered buying a pair of these circuit boards on eBay. But when I spotted a built unit for $170/shipped, I calculated that by the time I factored in the cost of a power transformer and a massive heat sinked chassis, it didn't seem wise or cost effective to go the DIY route. The JLH 1969 Class A clone I got is branded Nobsound NS-02g but I've seen the same chassis and guts in silver or gold sporting a Krell logo! It is very compact- a hair over 13" wide x 8.25" deep and 3" high- but it weighs 12 lbs. due to the heavy gauge chassis, massive heatsinks and power transformer. Parts quality is surprising for a $200 amplifier requiring discrete components. Input impedance is set by an Alps Blue Velvet 10k Ohm logarithmic potentiometer. There are no IC chips in this amp, just a couple pairs of transistors, a handful of resistors and capacitors + a lot of copper wire wound in the toroidal transformer. This is a true Class A design from the late 60s built at the end of the second decade of the 21st century. When I first fired up the amplifier, I heard a buzz when the input level control was at maximum. I traced this to the IEC socket which was not grounded. Strapping the center pin (green cloth insulated wire) to ground took care of the buzz. !!!WARNING!!! The voltages in this circuit are potentially lethal! Proceed at your own risk! Set Up and Adjustments NOTE: Red probe to test point, black probe to chassis ground Idle Current Out of the box, the amp sounded pleasant but I was not hearing anything magical. I was suspicious of the meager 0.5 amp AC current draw at 120V I monitored on my GenRad Variac. So removed the top cover to study the circuit and determine the purpose of the two potentiometers on each channel's PC board. The pot towards the middle of the PC board is for idle current adjustment. Since I didn't have a manual and couldn't find one on-line, I took the cue from this video by a JLH 1969 Class A kit amp builder.👍 His circuit board looked similar enough, thus, the proper voltage must be closer to about 20V(?). I measured 26.5V and 26.2V on my unit. So I turned the pot clockwise until I got about 24 volts DC on both channels. The AC current draw was now over 1 amp and I started feeling heat emanating from the chassis. AC Balance The next step was to adjust AC balance. I loaded each channel's output with an 8 ohm, 20W wire wound resistor and then injected a 1 kHz sine wave at the input jacks. I adjusted the AC balance pots on both channels while observing the clipping behavior closely for best symmetry - both phases of the trace should "square off" simultaneously. Tweaking the idle current 137℉ @ the heatsink I checked the idle current once more and listened. 26V yielded almost 10 watts per channel on the bench but I felt the sound can be sweeter. At 21.5V the amp sounded excellent. But the chassis was running physically too hot. Just to be conservative, I backed off a bit and actually found the sweet spot between 22V - 24V. I also made sure there's always ample ventilation around the amp. On the Test Bench Top trace = signal generator Bottom trace = amp output 100Hz 1kHz 10kHz Not perfect, but nice and clean square waves from a half a century old solid-state design Input sensitivity = .25 Vrms > ~ 6.8 watts per channel rms into an 8 ohm load with both channels driven Tweaks A slight glare in the upper midrange was ameliorated when I by-passed the 2.2uf input capacitors with 0.47uf Vitamin Q "Hyrel" PIOs and the 2500uf output capacitors with 10uf KBGs. Before reassembly, I also replaced the red LED pilot lights with blue LEDs. Much easier on the eyes especially in a dimly lit room. The Nobsound clone amp spent most of its time in the system above, driving a pair of Altec 755Cs in 618 cabinets and also a pair of moderately efficient Radio Shack LX4s. I also listened to it in the main system driving the Altec 2-way. In both cases it never failed to sound sweet, fatigue-free, with a tube-like quality and depth in the midrange, maybe not the tightest bass but definition was good + airy highs. The only time it betrayed its solid-state identity was when I spun an LP of Shostakovich Symphony No. 11 in the main system. It went into nasty clipping during orchestral peaks like a typical solid-state amp. Maybe it was asking too much from a Class A amp with a measly 7 watts rms per side to cope with the 16 ohm load presented by the Altec 2-way? However, with the same piece and on the same speaker system, my 4 watt per channel Stereo SE2A3dx with Tango NY15s went into overload with grace and composure at a similar SPL. It is a testament to John Linsley-Hood's engineering and hearing abilities that his 50-year-old circuit is still a very capable music maker. Even if it can't replace any of the tube amplifiers in my collection, this is a much more listenable amplifier than the handful of contemporary Class D switching amps I've heard thus far.
Odoo 15 introduces exciting new features, a better user experience, and performance enhancements. The database management system in Odoo 15 needs Python 3.8 and PostgreSQL. Let's get this party started right away. How do I get old 15 to work on Ubuntu 20.04? This article will walk you through the process of installing Odoo 15 on an Ubuntu server running version 20.04 LTS. The terminal will be used for all of these processes (Command Line Interface). Step-1: Update the server after logging in a. Using ssh, connect to the server: • ssh username @ IP address b. Ensure that system is updated: • sudo apt-get update • sudo apt-get upgrade Step 2: Secure Server a. Ensure that the system is safe against ssh assaults; Fail2ban can assist avoid ssh attacks: • sudo apt-get install openssh-server fail2ban Step 3: Install Python 3 and its Dependencies a. Install the Python packages that Odoo requires: Install pip3 as follows: • sudo apt-get install -y python3-pip b. Then install Packages and libraries: • sudo apt-get install python-dev python3-dev libxml2-dev libxslt1-dev zlib1g-dev • libsasl2-dev libldap2-dev build-essential libssl-dev libffi-dev libmysqlclient-dev • libjpeg-dev libpq-dev libjpeg8-dev liblcms2-dev libblas-dev libatlas-base-dev c. Make sure that all of the packages have been installed correctly and that there are no issues. Some web dependencies must be installed after the Python packages have been successfully installed. • sudo apt-get install -y npm • sudo ln -s /usr/bin/nodejs /usr/bin/node • sudo npm install -g less less-plugin-clean-css • sudo apt-get install -y node-less Step : 4 Setup Database Server (PostgreSQL) a. The database server used by Odoo is PostgreSQL. To install and configure a database server for Odoo, follow these steps: • sudo apt-get install postgresq b. Create a Postgres user to manage the database in the next stage. The user name and password will be required later in the conf file To accomplish the activities, Postgres has its own system user named 'Postgres. So, to change the user to Postgres, use the following command: • sudo su - postgres c. Next, we'll make an Odoo15 database user. When you run the following command, it will prompt you for a password, which you must re-enter. Keep this in mind for future reference: • createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt odoo15 d. The command below guarantees that the user has superuser privileges: • psql • ALTER USER odoo15 WITH SUPERUSER; • Exit from psql and postgres user: • \q • exit Step 5: System User a. Next, we'll build a system user to execute Odoo roles as well as provide security. This user's access to and operations on all Odoo files and folders will be restricted. b. Let us now create a new system user for the Odoo service, and then restrict the rights for all Odoo-related files and directories to this user. • sudo adduser --system --home=/opt/odoo --group odoo Step 6: Clone the Odoo Source repository on Github. a. We can directly clone the Community Edition source code from Odoo's GitHub repository. After the installation is complete, you can add the Enterprise edition add-ons. Install git on the server first: • sudo apt-get install git b. The files will be added to the user's home directory after switching the system user to 'odoo': • sudo su - odoo -s /bin/bash c. The following command will clone the source directory, and the operator dot(.) at the end of the command will clone the files to the current user's home directory, which is /opt/odoo, which is the same home directory specified when the user was created: • git clone https://www.github.com/odoo/odoo --depth 1 --branch 15.0 --single-branch d. Then exit from the user and continue the installation: • exit Step 7: Download and install the Python packages you'll need a. The relevant packages must then be installed. The requirement.txt file contains a list of all the packages. As a result, we can quickly install these packages using just one command: • sudo pip3 install -r /opt/odoo/requirements.txt Step 8: Download and install Wkhtmltopdf a. Odoo allows you to print reports as PDF files. Wkhtmltopdf aids in the creation of PDF reports from HTML data. Furthermore, the report engine converts the Qweb template reports to HTML format, and Wkhtmltopdf generates the PDF report: • sudo wget • https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb • sudo dpkg -i wkhtmltox_0.12.5-1.bionic_amd64.deb • sudo apt install -f Step 9: Setup Conf file a. The next step is to set up the Odoo conf file, which contains information such as the ad-ons path, database-related options, proxy parameters, and more. As a result, a configuration file should be created in the /etc directory. A sample conf file can be found in the Debian directory of Odoo's source code. Use the following command to copy from Debian to the /etc directory: • sudo cp /opt/odoo/debian/odoo.conf /etc/odoo.conf b. This file contains sample values, and you should edit the file with proper values: • sudo nano /etc/odoo.conf c. Update admin password and db_password from the following sample. [options] ; This is the password that allows database operations: • admin_passwd = admin • db_host = False • db_port = False • db_user = odoo15 • db_password = False • addons_path = /opt/odoo/addons • logfile = /var/log/odoo/odoo.log d. The following aspects should be configured before the operations are conducted: • db_user: the database user name. • db_password: provide db user password which is given while creating the db user. • admin_passwd: This is the master password of Odoo which is used to perform database operations in the database manager like create, delete, duplicate, and many more. • db_host: the database host. • db_port: the database port. • addons_path: provide the path of directories that contain the Odoo addons directories. You can mention multiple directories separated by commas: Eg: addons_path = /opt/odoo/addons, /opt/odoo/enterprise, /opt/odoo/custom logfile: the log file path. e. Finally, you should set access rights of the conf file for the system user odoo: • sudo chown odoo: /etc/odoo.conf • sudo chmod 640 /etc/odoo.conf f. Also, as we did before, establish a log directory to store the odoo log file, which will aid you in locating Odoo-related issues, and configure rights for the user odoo: • sudo mkdir /var/log/odoo • sudo chown odoo:root /var/log/odoo Step 10: Odoo service file a. Finally, we have to create a service to run Odoo. Let’s create a service file ‘odoo.service’ in /etc/systemd/system: [Unit] • Description=Odoo • Documentation=http://www.odoo.com [Service] # Ubuntu/Debian convention: • Type=simple • User=odoo • ExecStart=/opt/odoo/odoo-bin -c /etc/odoo.conf [Install] • WantedBy=default.target b. Next set the permissions for the root user to this service file: • sudo chmod 755 /etc/systemd/system/odoo.service • sudo chown root: /etc/systemd/system/odoo.service Step 11: Test Odoo 15 a. Now all the steps of installation are completed. Let's test the Odoo instance with the following command: • sudo systemctl start odoo.service b. Then check the status of the service using the following command. And if it depicts as active, the installation of Odoo was successful: • sudo systemctl status odoo.service c. Now you can access Odoo by entering the following URL: • “http://your_domain_or_IP_address:8069” This will redirect you to the database creation page if everything is set up correctly. Check Odoo logs a. You can also check the logs of Odoo platform that you have set up if you are facing any issues related to the installation or any other reasons with the following command. This command will show you the live logs in the terminal: • sudo tail -f /var/log/odoo/odoo.log b. At last, if you want to start the Odoo service automatically after rebooting the server, use the following command: • sudo systemctl enable odoo.service c. If you have made any changes in the addons, restart the Odoo support service to reflect the updates on your instance using the following command: • sudo systemctl restart odoo.service via Ref Link : https://www.geminatecs.com/blog/how-to-install-odoo-15-steps-on-a-ubuntu-20-04-lts-system-installation
This week, I’m introducing the marvelous Russian interior designer, Kirill Istomin. He worked with Parish-Hadley, and you’ll see that Kirill has both the architectural astuteness of Mr. Hadley, and the whimsical, playful style of Mrs. Parish. We visit a charming royal pavilion with a history dating back to 1820. It’s in a royal park near St. Petersburg and now displays delightful interiors Kirill recently designed. The imperial Russian obsession with Chinoiserie has a fascinating history and many plot twists, not to mention destruction and a phoenix-like new beginning. We’re examining Russian Chinoiserie as well. Come with me for a chat with Kirill Istomin about this project. And I have expert information on the Russian obsession with Chinoiserie, from my great friend, Olga Bychek, the top culture and architecture and design guide in St. Petersburg. I was visiting the Catherine Palace in St. Petersburg a few years ago with Olga and we first saw the Chinese Village at Tsarskoe Selo, as we walked in Alexander Park. We walked across the newly restored Chinese bridge, and we wondered about the pavilions in the park, which seemed at the time to be deserted. Now we know. They were restored, after many years of neglect, by patrons of Russian architecture and history. One pavilion, a weekend retreat, is in the very accomplished hands of Kirill Istomin. Kirill Istomin, who studied design at Parsons and worked in New York, is one of the top designers in Russia. He has offices in New York and Moscow. If you live in Moscow or St. Petersburg, and are involved in the design, architecture, art, and style worlds there, you would be very familiar with the polished and accomplished interior design by Kirill. He seems to be in every issue of AD Russia and Elle Décoration Russia. He has clients in New York, Kazakhstan, Paris, London, and Portofino and the San Francisco area. A Conversation with Kirill Istomin — Superb Russian Style: For the Love of Chinoiserie DDS: Kirill, I am so happy to be publishing your Chinoiserie-inspired interiors. I am fascinated that in the late eighteenth century, Russian royalty was crazy for Chinese Imperial architecture and art and porcelains. They avidly studied books on the style. KI: I am thrilled to have my project featured on The Style Saloniste. Thank you for having me! Starting from the second quarter of the 18th century Russian royals and aristocracy were fascinated by European fashion of Chinoiserie. The Imperial courts of China were considered to have the ultimate taste and refinement. Russian kings and emperors were particularly influenced by French and Prussian courts. As you know, Catherine the Great was born a German princess herself, so it's was very natural she was very interested in European architecture and decor. At the early years of her reign, Chinoiserie vogue was at its peak. A kind of mania. Embroidered silk textiles, paintings, lacquerwork, fantasy pavilions, porcelains, temples, bridges, statuary, figures, doors, carving, ornament-- her architects worked with them. DDS: I have traveled in St. Petersburg extensively, and have seen that exotic cluster of ‘Chinese Village’ pavilions in the Alexander Park. We wondered who was living there now. It’s your client—with your fantasy interiors. KI: My clients helped to restore the Chinese Village at Tzarskoe Selo after it was ruined during WW II. The village was originally commissioned by Catherine the Great as a series of small guest cottages for visiting nobles. It consists of a Chinese pagoda in the middle and twelve small one-story cottages around - all done in a fairytale imaginary Chinese style. My clients stay in one of the twelve pavilions. Since it's mainly used as their weekend retreat its fancy decor never gets too tiring. DDS: With the new décor, you honor the original concept of this style—but you’ve brought it up to date with no heavy period feeling. KI: No records survived of how rooms looked like before the revolution. I had complete carte blanche from the client, every decorator's dream! The idea was to create fun and happy decor with some references to original historical architecture. Not the exact accurate copy of outside decor but something rather new being inspired by 18th whimsy. I wanted to keep same fairytale ambiance but make it modern and suitable for contemporary living. I hope the empress herself would have been pleased with the final decor if she lived today. DDS: The colors and fabrics create a light-hearted feeling to the rooms. KI: I love color and beautiful fabrics! It's a great tool to transform rooms quickly and doesn't require a big budget. I start working on the interior architecture and furniture layout together with choosing fabrics and textures. It all happens simultaneously. It's just my way of decorating spaces! Pavilion facades are beautifully decorated with Chinese ornaments and different signs based on archival documents which show how cottages looked back in the 18th c. All outside decor is painted so my clients have to freshen it up every two years from Russian winters. I used colors of the facade decor as inspiration for wallpapers and fabrics in the rooms. All walls except study are white which create a perfect background for fun looking antiques, Chinese export porcelain and colorful upholstery; there is nothing very expensive in the decor. We used lots of good-looking vintage and antiques pieces. While working on this project clients and I gathered a nice collection of antique Chinese export porcelain. Our pride is a fun set of antique Chinese teapots from he late Brooke Astor's estate. A set of five large Imari vases in the study is, however, museum quality. Besides this it’s all about good-looking colorful visuals rather than serious pieces. Custom upholstery adds comfort to rooms. DDS: The fabrics and colors refer to the gardens just outside the windows. KI: Yes, it's exactly what the initial idea was. A weekend retreat. Fun, easy and whimsical were the key words of the project! I think we succeeded in this. DDS: I love the Chinoiserie style of the baseboards and the doorways. It’s a witty counterpoint. KI: Painted ornament on baseboards and doorways in the living room was copied from the Chinese study at Peterhof Palace - another royal palace outside St. Petersburg built by Empress Elizabeth, Peter the Great's daughter. The original ornament in Elizabeth's study had touches of gold but here I decided to simplify it and use no gold but cheery colors instead. DDS: Kirill, thank you. It’s a great pleasure to chat and learn about this interesting period in Russian style history. Bravo to you. KI: Thank you very for expressing interest in my work. I hope readers will enjoy the images of the rooms. The photography was done by the great Fritz Von Der Schulenburg. It was a big privilege having him shoot the project. The Fantasy This Chinese Pavilion, with interiors by Kirill Istomin, is set among birch trees and meandering streams and even a highly ornamental Chinese bridge, in Alexander Park. It's adjacent to the Catherine Palace, in Tsarskoe (also spelled Tzarskoe) Selo about half an hour’s drive from St. Petersburg. It was designed by the celebrated Antonio Rinaldi, who had already built for Catherine the superb and legendary Chinese Palace at Oranienbaum. (I've been fortunate to visit that summer pavilion several times...it's the one with bugle-bead embroidered Chinese designs on t he walls.) Simple upturned roofs were homage to Orientalism. The village was one of the first architectural victims of the Nazi invasion, and was completely gutted during the shelling of Pushkin in 1941, as were the Catherine Palace and the Hermitage. The village has been fully restored, and the cottages once again serve as apartments, leased to help raise funds for the restoration of the park. The Chinese Village consists of ten single-storey cottages surrounding an octagonal pagoda-observatory. The Fashion for Chinoiserie Special insight on the Russian passion for Chinoiserie, from my great friend, Olga Bychek, the top St. Petersburg culture guide. Olga—whom I was fortunate to meet on my first tip to St. Petersburg some years ago, recently opened her own specialist guide company, Be Happy Russia. Details about Olga and her company below. I asked Olga about the royal Russian obsession with Chinoiserie. She told me, “From as early as the 17th century) Russian royal leaders saw art and porcelains and architectural studies from China and it became a sign of prestige to copy them. “This love and avid admiration of Chinoiserie in Russia starts at the time of Peter the Great. There was a great interest in Chinese fine porcelain, porcelain ware, porcelain objets de fantaisie (figurines, seashells, fruit), porcelain studies/rooms. During his trip to Europe in 1712-15 the Russian tsar saw how European monarchs competed with each other – saw porcelain studies of the Prussian royal residences and the collection of his ally in the Northern war – king August II of Saxony. Peter I as usual, wanted to exceed Europe in everything. This resulted in having a Lacquer Room (1720-22) designed in Monplaisir Palace in Peterhof (viewable today) and making big orders of Chinese-inspired porcelain in Holland and directly in China to decorate palaces in St. Petersburg. “Chinese architecture, temples, motifs, embroidery, jade, glassware, graphic imagery, lacquer screens, bugle beadwork, jewels, gold, silver, and artistry all inspired Russian as a kind of “Paradise of Enlightment”. Chinese ‘exoticism’ was a mania at the end of 18th century as reflected in Voltaire’s work). And many examples—the Chinese Pavilion at Oranienbaum, and the Chinese Village at Tsarskoe Selo) can be visited today. “It’s interesting to see that the Swedish royal court, and French and English and German monarchs were also obsessed with Chinoiserie in the 18th century. Italians and Portuguese kings as well. None of them actually went to China. But everone wanted the status of Chinese artistry, craft, and style. They did not need to visit China—they studied books, drawings, paintings, and brought specialist artists and architects to copy.” Thank you, Olga. The Chinese Palace at Oranienbaum near St. Petersburg is a fine example of Chinoiserie from the eighteenth century. In particular, the legendary beaded panels of one of the rooms shows bugle beads sewn onto silk with Chinoiserie images of cranes and trees. The billiard toom there has Chinoiserie styles mixed with Russian. I propose: make a plan to visit St. Petersburg and view the Chinese palace. But check with Olga first to make sure it is open. It is often closed for restoration. About the Chinese Pavilions and Village The big “Rotunda” Pavilion seen from a distance makes a compositional center of the village today. “The Rotunda” was restored in 1990s by architect Kalikow with funds from Pushkin Development A/S which leased the Village 25 years ago (in 1991) for 49 years (the longest possible leasing period in Russia). Now there are 28 apartments that can be used as guesthouses. They are private—but can be viewed in the park. About Kirill Istomin Russian interior designer Kirill Istomin worked for Albert Hadley before starting his namesake firm with headquarters in Moscow and NYC. Istomin is known internationally for his colorful and playful high-end designs with contemporary takes on classical European design traditions. His design firm manages projects in France, Italy, Great Britain, Russia and the U.S. Istomin's fine arts degree in interior design is from Parsons, New York. He began his career at the iconic interior design firms, Parish- Hadley. Parish – Hadley afforded Istomin an unparalleled experience collaborating with the patriarch of American design Albert Hadley. In Russia, Istomin writes a column for Elle Decoration, and he has been featured numerous times in AD Russia as one of the top designers in the country. Istomin has received international awards, including twice being awarded by Decorators Club of New York for “Excellence in Interior Design of Residential Architectural and Historical Landmarks” and for “Best Design”. About Olga Bychek Olga Bychek is the top culture, architecture, art and design guide in St. Petersburg with a dazzling international roster of clients. She is the CEO and founder of BeHappyRussia Travel Company, St. Petersburg. I’ve worked with Olga in St. Petersburg. She is an engaging and charming guide. Her English is flawless and she is devoted to creating an in-depth, custom experience for each client. I’ve referred many clients to her, including Sting and Denise Hale and Glenda Bailey and Ralph Rucci and many academics and architects and designers. She has Expert Council on the Guides’ State Accreditation, and is a Committee for Investments and Strategic Projects of St. Petersburg Government, Board Member. She is greeted by name at the entrances of the Hermitage and royal palaces, and she and her guests are welcomed and they enter first. Most importantly for visitors to palaces and museums she is a State-Accredited Guide of St. Petersburg and its suburbs (Top category, License ID #01572 issued by the Committee for Investments and Strategic Projects of St. Petersburg Government, Russia). She engages with groups and individual travelers. Tours she offers: Hermitage, Fabergé Museum, State Russian Museum, St. Isaac’s Cathedral, Sts. Peter and Paul Fortress, Church on the Spilled Blood, Yussupov Palace, Peterhof palaces and parks, Faberge Museum, Catherine Palace, Alexander Palace, Pavlovsk, Peter I’s log cabin, Rivers and Canals. In particular she offers exclusive tours on Musical life in St. Petersburg at the time of Nicholai Rimsky-Korsakov; Fashion in St. Petersburg(20th century); Romantic St. Petersburg; Life of Nevsky Prospect (past and present); Art Nouveau in St. Petersburg architecture; Constructivism in Leningrad architecture; History of St. Petersburg Mansions; Memorial places of Peter I, Last Romanovs; Political murders; Bolsheviks and October Revolution. She also offers in-depth tours of architectural styles of St. Petersburg, Parks and Gardens of St. Petersburg and its suburbs, Russian Orthodox Cathedrals, Jewish highlights. Travelers in Russia often engage with her for a week, and may include all of the top sites, with perhaps the Maryinsky Ballet or a performance or musical event in the evening. Olga also engages excellent drivers, arranges restaurants. Be sure to let her know you found her on THE STYLE SALONISTE. OLGA BYCHEK CONTACT: www.behappyrussia.com [email protected] Photography: Photography of Kirill Istomin's interiors by Fritz von der Schulenburg. Contacts: Kirill Istomin, Interior Design & Decoration Moscow +7 495 645 01 36 New York +1 917 453 52 33 For all inquiries: [email protected]
human stem cells is a place where the storage of human genetic memory where genes or human codes are made sequentially that form a tangible development of an organ of living things called humans, this human stem cell code can be taken during one week of fertilization between sperm cells and cells eggs and their shape are almost identical for all stem cells of living creatures other than humans. when humans were created by the Father in heaven, the code of the genetic code was revealed until now where humans can manifest according to their original form, namely when God formed the first human, at that time God formed from embryonic cells from the embryo composition from the existence of the new earth which he created itself in the form of similarities between the horizon, soil, dust and water as the initial embryo of the formation of the earth. God said that you were created in the same image and likened to me, and so the Lord Jesus always made a parable in the likeness and like, we were created in the same image and in the same way as our creator, and that means our mother cell was similar and similar. in this era we can call God's past copy so and if copy paste wants to be perfect with the creator of course we must continue to know him, so that we will be equal and perfect of course for the grace and affection of the creator, God himself. in the detection and processing of human embryos in today's era many use modern technology in the form of sophisticated electronic engineering techniques that are artificial intelligence, which is the second derivative of human thinking. if we call it in the complex electronic language that is the 2nd differential, we are the 1st differential from God who is the Father in heaven if we hear the diffraction means there is a matter of development time in the usual calculations in electronics called Timer For Up / down Counter or we are Real Word (up counter) and Retro (down Counter). Love in Second Save of Light ( Gen . Mac Tech Zone Point Virtual Matrix ) X O 11 stem cells Cells in the body have specific purposes, but stem cells are cells that do not yet have a specific role and can become almost any cell that is required.Stem cells are undifferentiated cells that can turn into specific cells, as the body needs them. Scientists and doctors are interested in stem cells as they help to explain how some functions of the body work, and how they sometimes go wrong. Sources of stem cells Stem cells originate from two main sources: adult body tissues and embryos. Scientists are also working on ways to develop stem cells from other cells, using genetic "reprogramming" techniques. Adult stem cells Stem cells can turn into any type of cell before they become differentiated. A person's body contains stem cells throughout their life. The body can use these stem cells whenever it needs them. Also called tissue-specific or somatic stem cells, adult stem cells exist throughout the body from the time an embryo develops. The cells are in a non-specific state, but they are more specialized than embryonic stem cells. They remain in this state until the body needs them for a specific purpose, say, as skin or muscle cells. Day-to-day living means the body is constantly renewing its tissues. In some parts of the body, such as the gut and bone marrow, stem cells regularly divide to produce new body tissues for maintenance and repair. Stem cells are present inside different types of tissue. Scientists have found stem cells in tissues, including: the brain bone marrow blood and blood vessels skeletal muscles skin the liver However, stem cells can be difficult to find. They can stay non-dividing and non-specific for years until the body summons them to repair or grow new tissue. Adult stem cells can divide or self-renew indefinitely. This means they can generate various cell types from the originating organ or even regenerate the original organ, entirely. This division and regeneration are how a skin wound heals, or how an organ such as the liver, for example, can repair itself after damage. In the past, scientists believed adult stem cells could only differentiate based on their tissue of origin. However, some evidence now suggests that they can differentiate to become other cell types, as well. Embryonic stem cells From the very earliest stage of pregnancy, after the sperm fertilizes the egg, an embryo forms. Around 3–5 days after a sperm fertilizes an egg, the embryo takes the form of a blastocyst or ball of cells. The blastocyst contains stem cells and will later implant in the womb. Embryonic stem cells come from a blastocyst that is 4–5 days old. When scientists take stem cells from embryos, these are usually extra embryos that result from in vitro fertilization (IVF). In IVF clinics, the doctors fertilize several eggs in a test tube, to ensure that at least one survives. They will then implant a limited number of eggs to start a pregnancy. When a sperm fertilizes an egg, these cells combine to form a single cell called a zygote. This single-celled zygote then starts to divide, forming 2, 4, 8, 16 cells, and so on. Now it is an embryo. Soon, and before the embryo implants in the uterus, this mass of around 150–200 cells is the blastocyst. The blastocyst consists of two parts: an outer cell mass that becomes part of the placenta an inner cell mass that will develop into the human body The inner cell mass is where embryonic stem cells are found. Scientists call these totipotent cells. The term totipotent refer to the fact that they have total potential to develop into any cell in the body. With the right stimulation, the cells can become blood cells, skin cells, and all the other cell types that a body needs. In early pregnancy, the blastocyst stage continues for about 5 days before the embryo implants in the uterus, or womb. At this stage, stem cells begin to differentiate. Embryonic stem cells can differentiate into more cell types than adult stem cells. Mesenchymal stem cells (MSCs) MSCs come from the connective tissue or stroma that surrounds the body's organs and other tissues. Scientists have used MSCs to create new body tissues, such as bone, cartilage, and fat cells. They may one day play a role in solving a wide range of health problems. Induced pluripotent stem cells (iPS) Scientists create these in a lab, using skin cells and other tissue-specific cells. These cells behave in a similar way to embryonic stem cells, so they could be useful for developing a range of therapies. However, more research and development is necessary. To grow stem cells, scientists first extract samples from adult tissue or an embryo. They then place these cells in a controlled culture where they will divide and reproduce but not specialize further. Stem cells that are dividing and reproducing in a controlled culture are called a stem-cell line. Researchers manage and share stem-cell lines for different purposes. They can stimulate the stem cells to specialize in a particular way. This process is known as directed differentiation. it has been easier to grow large numbers of embryonic stem cells than adult stem cells. However, scientists are making progress with both cell types. X O 110 110 Stem Cells and the study of Mathematics , Statistics and Physics Human stem cells are at the forefront of modern molecular biology research due to their ability to give rise to any specialist human cell type, a property known as pluripotency. However, stem cells are notoriously hard to grow in culture. Here we are developing mathematical models of the stem cell behaviour, from single or a few cells up to colonies of thousands. the last concept of "Dynamics of single human embryonic stem cells and their pairs: a quantitative analysis" we performed real-time microscope imaging of human embryonic stem cells and analysed the kinematics of single and pairs of cells. We find that the cells, and their pairs, typically move like an isotropic random walk with a characteristic speed. Here, we present a movie of the typical stem cell motion. Ecological Networks An ecological network is a representation of the interactions between species in an ecosystem, a familiar example of which is the food web. Recent advances in DNA sequencing techniques allow biologists to construct and describe such networks in unprecedented levels of detail. we are interested in understanding the dynamics of species within complex ecological networks and predicting network responses to external perturbations. We must saving of Biology with real-world ecological data sets. X O 110 110 110 Data set in electronic circuit electron , we call Counter and frequency In digital logic and computing, a counter is a device which stores (and sometimes displays) the number of times a particular event or process has occurred, often in relationship to a clock signal. ... A counter circuit is usually constructed of a number of flip-flops connected in cascade. Counter is a digital device and the output of the counter includes a predefined state based on the clock pulse applications. The output of the counter can be used to count the number of pulses. Generally, counters consist of a flip-flop ( memory ) arrangement which can be synchronous counter or asynchronous counter. Types of Counters, Binary Ripple Counter, Ring Counter, BCD Counter, Decade counter, Up down Counter, Frequency Counter. Up - Counter Counter is a sequential circuit. A digital circuit which is used for a counting pulses is known counter. Counter is the widest application of flip-flops. It is a group of flip-flops with a clock signal applied. The only difference is that for the up counter the output is taken at the non-inverting output ports of the flip-flops. Whereas, for the down counter the output is taken at the inverting output ports of the flip-flops. Counters are used in digital electronics for counting purpose, they can count specific event happening in the circuit. For example, in UP counter a counter increases count for every rising edge of clock. Counter means ; 1 : marked by or tending toward or in an opposite direction or effect. 2 : given to or marked by opposition, hostility, or antipathy. 3 : situated or lying opposite the counter side. Circuit diagram of the electronic letterbox with letter-counting facility Pulse Detecting Genetic Circuit In digital logic and computing, a counter is a device which stores (and sometimes displays) the number of times a particular event or process has occurred, often in relationship to a clock signal. The most common type is a sequential digital logic circuit with an input line called the clock and multiple output lines. The values on the output lines represent a number in the binary or BCD number system. Each pulse applied to the clock input increments or decrements the number in the counter. A counter circuit is usually constructed of a number of flip-flops connected in cascade. Counters are a very widely used component in digital circuits, and are manufactured as separate integrated circuits and also incorporated as parts of larger integrated circuits. In electronics, counters can be implemented quite easily using register-type circuits such as the flip-flop, electronics is a complete language of communication and a wide variety of classified into: Asynchronous (ripple) counter – changing state bits are used as clocks to subsequent state flip-flops Synchronous counter – all state bits change under control of a single clock Decade counter – counts through ten states per stage Up/down counter – counts both up and down, under command of a control input Ring counter – formed by a shift register with feedback connection in a ring Johnson counter – a twisted ring counter Cascaded counter Modulus counter. Each is useful for different applications. Usually, counter circuits are digital in nature, and count in natural binary. Many types of counter circuits are available as digital building blocks, for example a number of chips in the 4500 series implement different counters. Occasionally there are advantages to using a counting sequence other than the natural binary sequence—such as the binary coded decimal counter, a linear-feedback shift register counter, or a Gray-code counter. Counters are useful for digital clocks and timers, and in oven timers, VCR clocks, etc. A robust cellular counter could enable synthetic biologists to design complex circuits with diverse behaviors. The existing synthetic-biological counters, responsive to the beginning of the pulse, are sensitive to the pulse duration. Here to present a pulse detecting circuit that responds only at the falling edge of a pulse–analogous to negative edge triggered electric circuits. As biological events do not follow precise timing, use of such a pulse detector would enable the design of robust asynchronous counters which can count the completion of events. This transcription-based pulse detecting circuit depends on the interaction of two co-expressed lamb doid phage-derived proteins: the first is unstable and inhibits the regulatory activity of the second, stable protein. At the end of the pulse the unstable inhibitor protein disappears from the cell and the second protein triggers the recording of the event completion. Using stochastic simulation we showed that the proposed design can detect the completion of the pulse irrespective to the pulse duration. In our simulation we also showed that fusing the pulse detector with a phage lambda memory element we can construct a counter which can be extended to count larger numbers. The design principle is a new control mechanism for synthetic biology which can be integrated in different circuits for identifying the completion of an event. Synthetic biology borrows the basic principles from engineering and molecular biology, and applies these principles in designing, testing, validating and assembling genetic parts into larger systems . Over the past 15 years synthetic biology researchers have designed numerous synthetic genetic circuits and a trend of increasing circuit complexity seems likely . The design principles of electrical circuits have inspired and have been incorporated in the construction of many synthetic genetic circuits . Like in electrical circuits, memory is an essential functional unit in biological systems which records the received stimulus and directs the cell fate in alternate directions based on the logged experience. Consequently, a diverse design approach has been exercised in registering a biological event in a cell and probing the record at a later time . A counter is another basic device that track events and is extensively used in building a wide range of complex electrical circuits. The existence of counting mechanism in wild organisms has been documented . With the help of a robust cellular counter, synthetic biologists could design novel control mechanisms and applications based on the occurrence of events. A few successful circuits have been constructed . The design of a counter makes the use of memory and a single memory unit can work as a counter capable of counting a single event. Such a one-counter can be cascaded to count numbers larger than one but counting high numbers will be challenging because the number of orthogonal systems will increase linearly with the maximum number we want to count. One way to overcome this difficulty is to use set-reset memory devices ( Integral list point ) Another potential challenge in designing a robust biological counter is the ability to count at completion of the event. The existing designs of the counters are sensitive to the pulse duration–a brief pulse will be ignored and a lengthy pulse can cause the counter to count ahead . This problem can be evaded if we can design a counter that advances the count at the end of the pulse, as is the common practice in electrical counter design . The essential component in such a design is a pulse detecting circuit that responses only at the falling edge of the pulse stimulus. Use of such a pulse detector will make the counter robust to pulse duration. The design of the robust genetic pulse detector using the lambda CI repressor protein . By preventing the dimerization of CI protein until the triggering pulse completes, we identify the end of the event and subsequently the dimerized CI protein will trigger the reporter circuit. In simulation we tested and characterized the pulse detecting device to identify the limit of its operation. We designed an extendable one-counter by coupling this pulse detecting circuit with a lambda switch based memory . Using a detailed chemical modeling and stochastic simulation we show that the presented robust pulse detector works with practical biologically parameters and can be used in designing falling edge triggered genetic counter. A new design control for pulse detection In principle, it is possible to design an asynchronous counter using both negative edge triggering (NET) and positive edge triggering (PET). However, in electronics most of the asynchronous counters are designed using NET because it makes the linking to flip-flops easier which should change state when the previous bit changes from high to low. An additional advantage of designing counters with NET is that they count events irrespective of the event’s duration and frequency. is analogous to synchronous counters found in digital systems, and counted correctly only in response to pulses of defined duration. In contrast, the design of the counter outlined in corresponds to asynchronous counters. A pulse detector circuit that triggers only at the falling edge of a pulse would facilitate the design of an asynchronous counter and can be used in designing many other genetic circuits. We have a pulse detector circuit that uses distinctive characteristics of the lambda CI repressor protein to explore design considerations for a transcription-based biological negative edge detector. The bacteriophage lambda has a complex set of interlocking regulatory mechanisms that it uses to maintain the lysogenic state and to transition to the lytic state . In the lysogenic state the lambda genome is integrated in the chromosome of host cell and replicated with cell division. In response to a DNA-damage signal, the lambda-phage exits the stable lysogenic state and enters the lytic state in which the phage lyses the cell, producing many new phage particles. One regulatory module in lambda genome, colloquially known as lambda switch, mediates this decision and consists of: cI and cro genes, two promoters (PRM and PR transcribing cI and cro respectively) and three operators (OR1, OR2, and OR3) in the OR region . the three operators in the OR region enhance the cooperativity of the system with respect to cI and allow a hair-trigger response in switching from the CI-rich state to the Cro-rich state . Both CI and Cro proteins bind to the three operators with different affinities and control the transcription of cI and cro genes. RNA polymerase can transcribe gene cro when both OR1 and OR2 are free; similarly gene cI is transcribed when OR3 is free. CI protein can enhance the transcription from PRM promoter when bound to OR2. A moderate level of CI protein is maintained by shutting down the PRM promoter when CI level crosses a certain threshold. The double negative feedback mechanism along with the positive feedback from CI controls the expression of only one of the two genes (cI and cro) repressing the other and thereby allows the lambda phage maintaining its lysogenic state and switching to the lytic state . These features allowed Kotula et al. to construct a memory element based on switching from the CI state to the Cro state. These authors also noted that the Cro state was quite stable, at least under the conditions tested. Thus, switching from the Cro to the CI state could also be used to record events; this is the approach used here. One characteristic of CI and Cro proteins, important for our design, is that they bind to the OR operator sites in their dimer and higher-order multimers only; monomers have no activity. Therefore activation and repression of these PR and PRM promoters could be controlled by preventing the dimer formation of CI and Cro proteins. This is a key element of the genetic device we present here. In their study on operator and non-operator DNA binding of lambda repressor protein CI, Nelson and Sauer isolated a mutant of CI repressor bearing a mutation in the DNA binding surface, Asn55Lys (N55K) that eliminated the binding affinity of the CI-mutant to operator sites but increased the affinity to non-specific DNA binding sites . We recently demonstrated that CI (N55K) acts as a dominant negative inhibitor of the CI protein itself , presumably by forming mixed dimers as has been observed for the tet and lac repressors . This mutation should not affect the dimerization characteristics of the protein. We refer to this protein as dominant-negative CI (CIDN) which is used for blocking dimer formation of CI proteins. Inhibition of the activity of a transcription factor by complexation with a dominant negative partner has previously been found useful . Another protein that can be used to block the activity of lambda CI protein is the Antirepressor of P22, which appears to inactivate numerous lambdoid phage repressors . The architecture of the pulse detecting circuit, assumed to be hosted in E coli bacterium, is shown in Fig 1(A). We placed both the wild-type cI and cIDN under the control of a single inducible promoter. A degradation tag is added with cIDN to ensure quick degradation of the monomeric proteins. One obvious candidate for the inducible promoter could be the TetA promoter PTetA . A much stronger RBS (RBS1) is required for cIDN than the RBS (RBS2) for cI. Experimentally one would use a reporter such as the lacZ gene under the control of PRM promoter. Essentially, the system works as follows: when the PTetA is induced (during the pulse), CIDN and CI transcripts are produced. Because of the stronger RBS associated with CIDN, many more CIDN molecules are present in the cell compared to CI molecules. Therefore, almost all of the CI monomers will form heterodimers with CIDN, and there will be no CI2 to activate PRM promoter. After the induction period, because of the degradation tag CIDN molecules degrade quickly giving CI molecules a chance to form dimers and activate PRM promoter. Fig 1(B) explains the input output relationship for the pulse detecting circuit. Fig 1 Schematic representation of the negative edge triggered pulse detecting circuit. (a) Components of the pulse detecting circuit. The central element is an artificial operon in which a regulated promoter directs transcription of high levels of an unstable inhibitor protein and lower levels of a target transcriptional regulator. In the specific version shown here, the tetracycline-regulated TetA promoter directs transcription of, firstly, a dominant-negative mutant of the lambda cI gene with a degradation tag (green), and secondly an intact version of the cI gene (red). TetR, the tetracyline repressor (gray), blocks transcription of this unit and PRM (which is activated by intact CI protein) transcribing lacZ (sky-blue) serves as an illustrative readout of circuit activity. (b) Behavioral characteristics of the circuit in response to an inducing pulse, with time proceeding downward. In the initial absence of the inducer tetracycline, neither of the proteins is made and lacZ is OFF. Upon addition of tetracycline, both proteins are made and the CIDN protein inhibits the wild-type protein, so lacZ remains OFF. Upon removal of the inducer, the CIDN protein is rapidly degraded while the wild-type CI protein remains intact, and activates lacZ transcription. stochastic simulation, we analyzed the pulse detecting circuit to determine the range of parameters (e.g. relative strength of the RBS sites, degradation tag efficiency) of the model for which the circuit produced the desired behavior. After successful model validation, we combined the pulse counter with a lambda phage memory element to construct a one-counter circuit. The simulation results show, when parameters such as RBS strengths are in the right range, that the designed circuit is able to count the event completion and can be expanded to count larger numbers. Relative strength of RBS sites In order to prevent CI proteins from activating the PRM promoter, we need to block the homo-dimerization of wild type CI proteins. In our design, we plan to produce enough CIDN proteins so that all CI wild-type proteins will form heterodimers with CIDN rather homo-dimers. Since both the wild type and dominant type cI genes are transcribed from the same promoter PTetA the best way to achieve that is to use RBS sites with different strength with cI and cIDN genes. In our theoretical calculation it was found that the RBS of cIDN (RBS1) should be at least 10 times stronger than the RBS of cI (RBS2). In order to verify that we tested our model with a range of RBS1:RBS2 strength ratios. It was found that if the strength ratio between RBS1 and RBS2 is 20:1 or greater, it is possible to prevent the dimer formation of CI proteins completely and thereby the reporter gene lacZ becomes activated only when the pulse is finished. Fig 2 shows the simulation of the pulse detector circuit with RBS1:RBS2 = 20:1. As the figure shows, the abundance of CIDN molecules ensures that no CI2 dimer is formed to activate PRM promoter. After the pulse, the degradation tag attached to cIDN quickly removes CIDN protein molecules from the cell allowing CI to form homo-dimers and trigger the reporter circuit. In our simulations, we varied the RBS1:RBS2 ratio from 2 to 25, and it was found that if it is less than 20 then the pulse detection might not work very precisely. As an example the results for the RBS1:RBS2 = 10 is included in S1 Fig. As we can see if RBS1:RBS2 is less than 20 then we have some CI2 in the system before the pulse is finished thus the reporter circuit might start to respond earlier. The effect is more visible for lengthier pulse durations as will be discussed later. In order to compare the effect of RBS strength ratios directly we put all the LacZ responses and the corresponding CI2 concentration changes in S2 Fig. From those response curves it is clear that if the RBS1:RBS2 ratio is less than 20 then CI2 concentration start to rise before the pulse finishes and reporter circuit starts to respond accordingly. Fig 2 Response of the pulse detector circuit in Fig 1 for a pulse duration of ½ bacterial cell-cycle (CC) [1020 sec]. The pulse was activated at 10.2 CC (20808 sec) and deactivated at 10.7 CC (21828 sec). The relative strength of RBS1 and RBS2 was 20:1 and the degradation tag had half-life of 4 minutes. The response is average of 20 simulation runs. Influence of degradation tag associated with cIDN The second most important challenge in the design is to quickly remove CIDN from the cell after the completion of the pulse, so that we have enough CI concentration present in the cell to induce the reporter circuit. Evidently, adding a degradation tag to cIDN is a workable solution. However, it should be noted that attaching a degradation-tag will also affect the concentration of CIDN during the pulse. So we need a well-chosen degradation-tag so that we have sufficient CIDN concentration to prevent formation of CI2 during the pulse and after the pulse the CIDN molecules are quickly removed from the system. We therefore, experimented with various degradation-tags of different strengths. We run simulations with degradation-tags with half-life 2, 4, 8 and 16 minutes. The effect of the strength of degradation-tag is shown in Fig 3. From Fig 3, it is found that if degradation-tag is too strong (e.g. half-life 2 mins) then CI molecules start to form dimers before the pulse is finished and if the tag is too weak (e.g. half-life 16 mins) then CIDN remains in the cell for long after the pulse and does not allow formation of CI-dimers to activate the reporter circuit. The degradation-tag with half-life of 4 minutes matches well with the RBS1:RBS2 = 20 to maintain CIDN concentration high enough to prevent formation of CI2 during the pulse and quickly eradicate CIDN from the cell to activate the reporter circuit after the pulse. S3 Fig shows that the combination of deg-tag of 4 minutes and RBS1:RBS2 ratio of 20 or higher is effective in building a working model for the pulse detecting circuit. Fig 3 Response of the pulse detector circuit in Fig 1 with degradation tags of different half-lifes (2, 4, 8 and 16 minutes). For brevity only responses of LacZ and CI molecules were displayed for each deg-tag using the same color. The pulse was activated at 10.2 CC (20808 sec) and deactivated at 10.7 CC (21828 sec). The relative strength of RBS1 and RBS2 was 20:1. The response is average of 20 simulation runs. Effect of pulse length Another important characteristic of the proposed pulse detector is its insensitivity to pulse duration. Since the circuit responses at the falling edge of the pulse it is not affected by the length of the pulse. In order to confirm that ability of the designed circuit we simulated the circuit with different pulse duration, specifically with pulses of 1.0 CC (cell-cycle) and 1.5 CC. Fig 4 shows the response of the designed pulse detector circuit with a RBS1:RBS2 ratio of 20 and 4 minutes degradation tag. Although the duration of the pulse was made double (Fig 4(A)) and triple (Fig 4(B)) there was no significant presence of CI2 in the cell to activate the lacZ reporter throughout the pulse. Consequently the lacZ responded only after the pulse was finished making the circuit independent of the pulse duration. We also extensively studied the effect of other ratios of RBS1:RBS2 and strength of degradation tag for these two pulse lengths and the summary of those results are presented in S4 and S5 Figs. The observation was analogous to what we found in case of the pulse duration of ½ cell-cycle–if the circuit is designed with a RBS1:RBS2 ratio of 20 or more and a degradation tag with 4 minutes half-life then it will behave as a perfect pulse detector circuit irrespective to pulse duration. Fig 4 Response of the pulse detector circuit in Fig 1 for different pulse durations. The RBS1:RBS2 ratio was set to 20 and a deg-tag of 4 minutes was used. Each response in the graph is the average of 20 simulations. (a) The pulse was activated at 10.2 CC (20808 sec) and deactivated at 11.2 CC (22848 sec) [duration 1 bacterial cell-cycle (CC)]. (b) The pulse was activated at 10.2 CC (20808 sec) and deactivated at 11.7 CC (23868 sec) [duration 1 ½ bacterial cell-cycle (CC)]. Design of a counter circuit with the embedded pulse detector After we confirmed the reliability of the pulse detector circuit we fused a lambda memory circuit with it to design a synthetic counter. The bistable characteristic of lambda switch makes it a dependable memory device for recording the count after the pulse has been completed. The overall design of the counter circuit is shown in Fig 5. Initially the lambda memory is in Cro-rich state and retains that state until it is switched to CI-rich state in response to the completion of the pulse. With the beginning of the pulse which is simulated by the induction of the PTetA promoter, mRNAs of both cIDN and cI are transcribed. By the virtue of the stronger RBS1 enough CIDN proteins are translated from cIDN mRNA and those proteins form CIDN-CI dimers with CI monomers and prevent CI to form CI2 and activate the PRM promoter. Now when the pulse finishes, the transcription of cIDN and cI stops and the attached degradation-tag causes CIDN to be removed quickly from the cell allowing CI molecules to form dimers. The CI-dimers interact with the PRM promoter and switch the memory into CI-rich state from Cro-rich state. Once the memory has changed over to CI-rich state the feedback loops of lambda switch retains the memory in that state and thus records the completion of the pulse. Fig 5 The design of the counter circuit. The two components of the design are the falling edge pulse detector circuit shown in Fig 1 and the lambda memory switch. However, for switching from Cro-rich state to CI-rich state we need sufficient amount of CI2 dimers present in the cell. According to some simulations we need approximately 70 ~ 100 nM CI for switching from Cro-rich state to CI-rich state. As shown in earlier sections, the strength ratio between RBS1 and RBS2 needed to be 20 or more to design a working pulse detector circuit. Taking that into consideration we experimented with different strengths of RBS1 and RBS2 so that we have a ratio of 25. We run our simulations under four conditions with [RBS1, RBS2] = [25x, 1x], [50x, 2x], [100x, 4x] and [200x, 8x] where 25x means that the RBS is 25 times stronger than the RBS of wild type cI. In every case, we used the degradation-tag with half-life of 4 minutes. Each simulation was run for 20 times and the summary of the results are shown in Fig 6. According to this simulation, if we have a 8 times stronger RBS attached to cI and a RBS 25 times stronger than that attached to cIDN then we will be able to design a reliable counter circuit with the pulse detector circuit and the lambda memory circuit. Fig 7 shows the average simulation of the circuit with the following setting. Under this setting, in 20 out of 20 runs, the circuit successfully switched from Cro-rich state to CI-rich state. This also advocates the robustness of the counter circuit. Fig 6 Success rate of switching the memory device ON. Each simulation was run 20 times with different [RBS1, RBS2] ratios: [25x,1x], [50x,2x], [100x,4x] and [200x,8x] where 25x means the RBS is 25 times stronger than the RBS in wild type cI. Fig 7 Average simulation of the 1 bit pulse counter circuit. The circuit was simulated for 30 bacterial CC (30X34 minutes). The duration of the pulse was 1.5 CC (1.5X34 minutes) and was activated at 10.2 CC (10.2X34 minutes). In simulation we have shown that it is possible to construct a counter circuit using the designed pulse detector circuit along with the lambda memory switch. However, the usage of lambda switch imposes additional requirements as the Cro-rich state of lambda is very stable and switching it to CI-rich state needs significant amount of CI present in the system. Therefore, we need to use very strong RBS both for cI and cIDN genes so that we can get enough proteins per transcript. Alternatively, we can use a promoter with higher isomerization rate instead of PTetA. We can also consider stabilizing the cI and cIDN mRNAs as well. It is also possible to change the OR regions in lambda switch that makes switching from Cro-rich to CI-rich state easier. Hence, the counter circuit can be constructed by using one of these strategies or applying their combinations altogether. Furthermore, in order to show the robust behavior of the counter circuit in response to the pulse duration, we experimented with various pulse durations–in particular we varied the pulse from 1 CC, 2.5 CC, 5 CC and 10 CC where 1 CC means 1 bacterial cell cycle of 34 minutes. We repeated each simulation 20 times for each setup. The counter circuit exhibited very robust behavior by successfully counting each pulse irrespective to the pulse duration in each experimental run. The average simulation of this 1 bit pulse counter circuit for various pulse durations is shown in the S6 Fig. However, when the pulse duration was set 0.5 CC then in 7 runs out of 20 the circuit failed to switch to CI-rich state or switched back to Cro-rich state. These results indicates that if the pulse duration is very short then the current circuit cannot response, nevertheless, it is possible to design a counter circuit, based on the same principle, that can count shorter pulses by changing system parameters. The simulations in this section indicate that the designed counter circuit is capable of counting a pulse of any duration greater than a minimum limit. The designed counter circuit with the aid of pulse detector circuit can be cascaded for building counters that can count larger numbers. Fig 8 shows a two-counting circuit that makes use of FLP-FRT recombination. The flippase1 is transcribed from the PRM promoter along with YFP and cI once the circuit has switched to CI-rich state (i.e. after it has counted one). The Flippase1 then can remove the terminator allowing the PTetA promoter to transcribe CI and anti-CI proteins from 434. Subsequently the anti434CI and 434CI proteins can behave similar to CI and CIDN and switch 434Cro state to 434CI state interacting with respective promoters. Another FLP-FRT pair (flipppase2) can be added for subsequent counting as shown in Fig 8. Moreover, the capability of the pulse detector circuit to respond to the falling edge of a pulse would enable us designing the asynchronous counter and many other useful synthetic circuits. Fig 8 Design of two or higher bit counters using the pulse detector circuit. Conclusion This work presents a synthetic circuit for detecting the falling edge of a pulse based on the interaction between two proteins. The basic principle of this design is to co-express two proteins from an inducible promoter and one of the proteins will interfere with the activity of the other and prevent the second protein from its usual activity. The first protein will also have a degradation tag attached so that it will be quickly removed from the cell when the induction subdues and thus will allow the second protein to return to its natural action. In our design we used the lambda CI protein and one of its mutants which we call CIDN for designing the pulse detector circuit. The interaction between CI and CIDN has been characterized in laboratory experiments and it was found that the repression of CI by CIDN occurs in a dose dependent manner . Using stochastic simulation we showed that by selecting the RBS sites associated with cI and cIDN and the degradation-tag attached to cIDN we can construct a pulse detecting circuit that is robust to pulse duration. Since the biological events are not precisely timed, a pulse detecting circuit that can work irrespective to pulse duration would be very attractive to synthetic biologists. Fusing the pulse detector with lambda memory circuit we constructed a counter that can count the completion of an event. In our simulation the counter exhibited robust behavior. The design is generalized enough to be extended for constructing counter capable of counting higher numbers. Furthermore, the pulse detecting circuit can also be used for designing asynchronous biological counters. The presented design is a new control mechanism for synthetic biology. The design principle can be used for many other circuits for detecting the completion of an event. Most of the verification of the design has been done in simulation but model based design has been used in previously designed synthetic circuits (e.g. toggle switch, repressilator). However, the results generated by the model could be successfully reproduced in experiments only after tuning the circuit. Although stochastic models represents the biological systems more closely compared to the deterministic models (e.g. differential equation based model), it is expected that some tuning of the model would be necessary to implement it in experiments . Therefore, the designed pulse detecting circuit can be constructed in vivo perhaps with some necessary adjustments and can play as a valuable component for synthetic biology. Methods We used a reaction based model for simulating different components of our circuits. Each model consists of a set of chemical reaction and we used Gillespie algorithm for stochastic simulation of each model. The basic components of different models are: homo-dimerization of CI and Cro proteins and hetero-dimerization of CI-CIDN proteins, binding of CI2 and Cro2 dimers to OR operator sites (OR1, OR2 and OR3), binding of RNA polymerase to PRM, PR and PTetA promoters, isomerization of different promoters, transcription of cI and cIDN, cro and lacZ from respective promoters and translation of those transcripts corresponding to associated RBS sites, degradation of mRNA molecules and protein monomers and dimers according to their half-life or attached degradation-tag’s half-life respectively. All the model parameters are set using biochemical data. Most of the parameters came from the model of lambda switch by Morelli. X O 110 110 110 110 Astrophysical and Geophysical Fluid Dynamics Exploring the operation of hydrodynamic and magnetohydrodynamics processes in a variety of contexts, including the ocean and atmosphere, planets, stars, accretion discs, the interstellar medium, and galaxy clusters, as well as in more idealised, generic, contexts. Planets, stars and galaxies contain electrically conducting fluids or plasmas. Motions in these fluids induce magnetic fields, which can significantly affect the structure, activity, evolution and other basic properties of the bodies concerned. Although the fundamental equations governing these processes are thought to be known, the phenomena that arise in different objects and regimes vary greatly, and the detailed mechanisms involved are still the subject of vigorous research. The object load is interest include: planetary dynamos geomagnetic field reversals magnetic torques in accretion discs binary stars galactic dynamos interstellar turbulence magnetic Taylor–Couette flow Particle Astrophysics One of the goals of Particle Astrophysics is to use the early universe to test the consistency of new developments in particle physics and quantum gravity. An example is the five dimensional brane-world theory that has arisen from superstring models. We are also investigating the effects of quantum gravity on particle physics experiments. We learn to satellite observations of the universe today. This enables us to explain the pictures of the universe taken by microwave satellites, and also provides a set of initial conditions for galaxy formation, linking in with research areas in astrophysical fluid dynamics. _________________________________________________________________________________ Pro - Life e- Locker Detector in Point Virtual Matrix and Human Stem Cells __________________________________________________________________________________
from wikipedia Sai Baba of Shirdi (Unknown – October 15, 1918), also known as Sai Baba (Marathi: शिर्डीचे श्री साईबाबा, Urdu: شردی سائیں بابا), was an Indian guru, yogi, and fakir who is regarded by his Hindu and Muslim devotees as a saint. Many Hindu devotees – including Hemadpant, who wrote the famous Shri Sai Satcharitra – consider him an incarnation of Lord Krishna[1] while other devotees consider him as an incarnation of Lord Dattatreya. Many devotees believe that he was a Satguru, an enlightened Sufi Pir, or a Qutub. No verifiable information is available regarding Sai Baba's birth and place of birth. Sai Baba's real name is unknown. The name "Sai" was given to him upon his arrival at Shirdi, a town in the west-Indian state of Maharashtra. Mahalsapati, a local temple priest, recognized him as a Muslim saint and greeted him with the words 'Ya Sai!', meaning 'Welcome Sai!'. Sai or Sayi is a Persian title given to Sufi saints, meaning 'poor one'.[2] However Sāī may also refer to the Sanskrit term "Sakshat Eshwar" or the divine. The honorific "Baba" means "father; grandfather; old man; sir" in Indo-Aryan languages. Thus Sai Baba denotes "holy father", "saintly father" or "poor old man". Also , as SA means Devi and Aayee (I of SAI) means Maa & Baba means Father it also means Heavenly Parent.[3] Sai Baba remains a very popular saint,[4] especially in India, and is worshipped by people around the world. He had no love for perishable things and his sole concern was self-realization. He taught a moral code of love, forgiveness, helping others, charity, contentment, inner peace, and devotion to God and guru. Sai Baba's teaching combined elements of Hinduism and Islam: he gave the Hindu name Dwarakamayi to the mosque he lived in,[5] practiced Hindu and Muslim rituals, taught using words and figures that drew from both traditions, and was buried in Shirdi. One of his well known epigrams, "Sabka Malik Ek " ("One God governs all"), is associated with Islam and Sufism. He always uttered "Allah Malik"("God is King").[6] Some of Sai Baba's disciples became famous as spiritual figures and saints, such as Mahalsapati, a priest of the Khandoba temple in Shirdi, and Upasni Maharaj. He was revered by other saints, such as Saint Bidkar Maharaj, Saint Gangagir, Saint Janakidas Maharaj, and Sati Godavari Mataji.[7][8] Sai Baba referred to several saints as 'my brothers', especially the disciples of Swami Samartha of Akkalkot.[8] Historians and devotees agree that there is no reliable evidence for a particular birthplace or date of birth. Various communities have claimed that he belongs to them, but nothing has been substantiated. It is known that he spent considerable periods with fakirs, and his attire resembled that of a Muslim fakir. He did not discriminate based on religion and respected all forms of worship to God. Little has been officially documented on the early life of Shirdi Sai Baba. An account of Shirdi Sai's missing childhood years has been reconstructed by his disciple Das Ganu, after researching in the area around the village of Pathri. He collected this story in four chapters on Sai Baba, later also called the Sri Sai Gurucharitra.[9][10] Das Ganu states that Sai Baba grew up in Pathri, with a fakir and his wife. At the age of five, says Das Ganu, the fakir's wife put him in the care of the saintly desmukh Venkusha, where the boy stayed several years. Dasganu calls the young Sai Baba the reincarnation of Kabir. Because Das Ganu was known to take poetic liberties when telling stories about Sai Baba, and as there are no other sources to corroborate this story, it usually is left out of biographies of Sai Baba of Shirdi. Sai Baba's biographer Narasimha Swamiji states that Sai Baba was born as the child of Brahmin parents: "On one momentous occasion, very late in his life, he (e.g. Sai Baba) revealed to Mahlsapathy the interesting fact that his parents were Brahmins of Patri in the Nizam's State. Patri is part of Parvani taluk, near Manwath. Sai Baba added, in explanation of the fact that he was living in a Mosque, that while still a tender child his Brahmin parents handed him over to the care of a fakir who brought him up. This is fairly indisputable testimony, as Mahlsapathy was a person of sterling character noted for his integrity, truthfulness and vairagya." [11] The above mentioned account is largely overlapped by the narration by Sathya Sai Baba, Sathya Sai Baba states as well that the fakir and his wife adopted the baby that was to become Sai Baba shortly after his birth.[12] According to the book Sai Satcharita, Sai Baba arrived at the village of Shirdi in the Ahmednagar district of Maharashtra, British India, when he was about 16 years old. He led an ascetic life, sitting motionless under a neem tree and meditating while sitting in an asana. The Shri Sai Satcharita recounts the reaction of the villagers: The people of the village were wonder-struck to see such a young lad practicing hard penance, not minding heat or cold. By day he associated with no one, by night he was afraid of nobody.[13] His presence attracted the curiosity of the villagers, and he was regularly visited by the religiously inclined, including Mahalsapati, Appa Jogle and Kashinatha. Some considered him mad and threw stones at him.[14] Sai Baba left the village, and little is known about him after that. However, there are some indications that he met with many saints and fakirs, and worked as a weaver. He claimed to have fought with the army of Rani Lakshmibai of Jhansi during the Indian Rebellion of 1857.[15] It is generally accepted that Sai Baba stayed in Shirdi for three years, disappeared for a year, and returned permanently around 1858, which suggests a birth year of 1838.[16] [edit]Return to Shirdi In 1858 Sai Baba returned to Shirdi. Around this time he adopted his famous style of dress consisting of a knee-length one-piece robe (kafni) and a cloth cap. Ramgir Bua, a devotee, testified that Sai Baba was dressed like an athlete and sported 'long hair flowing down to the end of his spine' when he arrived in Shirdi, and that he never had his head shaved. It was only after Baba forfeited a wrestling match with one Mohiddin Tamboli that he took up the kafni and cloth cap, articles of typical Sufi clothing.[17] This attire contributed to Baba's identification as a Muslim fakir, and was a reason for initial indifference and hostility against him in a predominantly Hindu village.[18] According to B.V. Narasimhaswami, a posthumous follower who was widely praised as Sai Baba's "apostle", this attitude was prevalent up to 1854 even among some of his devotees in Shirdi.[19] For four to five years Baba lived under a neem tree, and often wandered for long periods in the jungle around Shirdi. His manner was said to be withdrawn and uncommunicative as he undertook long periods of meditation.[20] He was eventually persuaded to take up residence in an old and dilapidated mosque and lived a solitary life there, surviving by begging for alms, and receiving itinerant Hindu or Muslim visitors. In the mosque he maintained a sacred fire which is referred to as a dhuni, from which he gave sacred ashes ('Udhi') to his guests before they left. The ash was believed to have healing and apotropaic powers. He performed the function of a local hakim, and treated the sick by application of ashes. Sai Baba also delivered spiritual teachings to his visitors, recommending the reading of sacred Hindu texts along with the Qur'an. He insisted on the indispensability of the unbroken remembrance of God's name (dhikr, japa), and often expressed himself in a cryptic manner with the use of parables, symbols and allegories.[21] Sai Baba participated in religious festivals and was also in the habit of preparing food for his visitors, which he distributed to them as prasad. Sai Baba's entertainment was dancing and singing religious songs. After 1910 Sai Baba's fame began to spread in Mumbai. Numerous people started visiting him, because they regarded him as a saint with the power of performing miracles, or even as an Avatar.[22] They built his first temple at Bhivpuri, Karjat.[23] Sai Baba opposed all persecution based on religion or caste. He was an opponent of religious orthodoxy – Christian, Hindu and Muslim.[24] Although Sai Baba himself led the life of an ascetic, he advised his followers to lead an ordinary family life. Sai Baba encouraged his devotees to pray, chant God's name, and read holy scriptures. He told Muslims to study the Qur'an, and Hindus to study texts such as the Ramayana, Bhagavad Gita, and Yoga Vasistha.[25] He was impressed by the philosophy of the Bhagavad Gita and encouraged people to follow it in their own lives.[26] He advised his devotees and followers to lead a moral life, help others, love every living being without any discrimination, and develop two important features of character: unflinching perseverance (Shraddha) and waiting cheerfully with patience and love (Saburi). He criticized atheism.[27] In his teachings,Sai Baba emphasized the importance of performing one's duties without attachment to earthly matters, and of being content regardless of the situation. In his personal practice, Sai Baba observed worship procedures belonging to Hinduism and Islam; he shunned any kind of regular rituals but allowed the practice of namaz, chanting of Al-Fatiha, and Qur'an readings at Muslim festival times.[28] Occasionally reciting the Al-Fatiha himself, Baba also enjoyed listening to moulu and qawwali accompanied with the tabla and sarangi twice daily.[29] Sai Baba interpreted the religious texts of both Islam and Hinduism. He explained the meaning of the Hindu scriptures in the spirit of Advaita Vedanta. His philosophy also had numerous elements of bhakti. The three main Hindu spiritual paths – Bhakti Yoga, Jnana Yoga, and Karma Yoga – influenced his teachings.[30] Sai Baba encouraged charity, and stressed the importance of sharing. He said: "Unless there is some relationship or connection, nobody goes anywhere. If any men or creatures come to you, do not discourteously drive them away, but receive them well and treat them with due respect. Shri Hari (God) will certainly be pleased if you give water to the thirsty, bread to the hungry, clothes to the naked, and your verandah to strangers for sitting and resting. If anybody wants any money from you and you are not inclined to give, do not give, but do not bark at him like a dog."[31] Other favorite sayings of his were: "Why do you fear when I am here", and "He has no beginning... He has no end."[32] [edit]Worship and devotees Main article: Shirdi Sai Baba movement The Shirdi Sai Baba movement began in the 19th century, while he was living in Shirdi. A local Khandoba priest – Mhalsapati Nagre – is believed to have been his first devotee. In the 19th century Sai Baba's followers were only a small group of Shirdi inhabitants and a few people from other parts of India. The movement started developing in the 20th century, with Sai Baba's message reaching the whole of India.[4] During his life, Hindus worshipped him with Hindu rituals and Muslims considered him to be a saint. In the last years of Sai Baba's life, Christians and Zoroastrians started joining the Shirdi Sai Baba movement.[4] Because of Sai Baba, Shirdi has become a place of importanceand is counted among the major Hindu places of pilgrimage.[33] The first Sai Baba temple is situated at Bhivpuri, Karjat. The Sai Baba Mandir in Shirdi is visited by around twenty thousand pilgrims a day and during religious festivals this number can reach up to a hundred thousand.[34] Shirdi Sai Baba is especially revered and worshiped in the states of Maharashtra, Orissa, Andhra Pradesh, Karnataka, Tamil Nadu and Gujarat. In August 2012, an unidentified devotee for the first time donated two costly diamonds valuing Rs 1.18 crore at the Shirdi temple, Saibaba trust officials revealed.[35] The Shirdi Sai movement has spread to the Caribbean and to countries such as the United States, Australia, United Arab Emirates, Malaysia, and Singapore. The Shirdi Sai Baba movement is one of the main Hindu religious movements in English-speaking countries.[36] [edit]Notable disciples Sai Baba left behind no spiritual heirs and appointed no disciples, and did not even provide formal initiation (diksha), despite requests. Some disciples of Sai Baba achieved fame as spiritual figures, such as Upasni Maharaj of Sakori. After Sai Baba left his body, his devotees offered the daily Aarti to Upasni Maharaj when he paid a visit to Shirdi, two times within 10 years.[37] Sai Baba had many devotees, and the most notable among them are: Nana Saheb Chandorkar: Deputy Collector – legend has it that Sai Baba saved this man's daughter from labor complications. Ganapath Rao Sahasrabuddhe, also known as Das Ganu: police officer who resigned to become an ascetic and singer of kirtans. He was an itinerant who spread Sai Baba's message. Tatya Patil: had immense faith in Sai Baba and served him until Sai Baba took samadhi. Sai Baba used to treat Tatya Patil as His nephew. Baija Mai Kote Patil: Sai Baba treated her as His elder sister and equivalent to mother. She was Tatya Patil's mother. Haji Abdul Baba: He served Sai Baba until Sai Baba left his body in 1918. Madhav Rao Deshpande: Later known as Shama, one of the staunch devotees of Sai Baba. Govindrao Raghunath Dabholkar (Hemadpant): Sai Baba allowed him to write the Shri Sai Satcharita. Mahalsapati Chimanji Nagare: A priest of Khandoba Temple. RadhaKrishna Mai: A great devotee of Baba, cleaned the temple every day and looked after Baba's needs. Sai Baba's millions of disciples and devotees believe that he performed many miracles such as bilocation, levitation, mindreading, materialization, exorcisms, making the river Yamuna, entering a state of Samādhi at will, and lightning lamps with water, removing his limbs or intestines and sticking them back to his body (khandana yoga), curing the incurably sick, appearing beaten when another was beaten, after death rising on third day like Jesus Christ, preventing a mosque from falling down on people, and helping his devotees in a miraculous way. He also gave Darshan (vision) to people in the form of Rama, Krishna, Vithoba and many other gods depending on the faith of devotees.[38] The marble statue of Sai Baba of Shirdi, in the Samadhi Mandir in Shirdi, 2008 According to his followers he appeared to them in dreams even after he left his body, and gave them advice. His devotees have documented many stories.[39] Shirdi Sai Baba in 1910 [edit]Historical sources Biographers of Sai Baba (e.g. Govindrao Raghunath Dabholkar, Acharya Ekkirala Bharadwaja, Smriti Srinivas, Antonio Rigopolous) have based their writing on primary sources. One such source is the Shirdi Diary by Ganesh Shrikrishna Khaparde, which describes every day of the author's stay at Shirdi. Speculation about the unknown episodes of Sai Baba's life are primarily based on his own words. The most important source about Sai's life is the Shri Sai Satcharita, written in Marathi in 1916 by Govindrao Raghunath Dabholkar, whom Sai Baba nicknamed Hemadpant. Consisting of 53 chapters, it describes Sai Baba's life, teachings, and miracles. The book compares Sai Baba's love to a mother's love: caring and loving, but reprimanding when needed. It describes Baba's lifestyle, his selfless attitude, and his love for his devotees. The book describes how one should surrender one's egoism at God's feet and trust one's guru. It explains how God is supreme and His devotees should trust Him and love Him. It teaches that God is omnipresent in all living things, so that everything on Earth must be treated with love and respect. Sri Sai Baba and His Teachings by Acharya Ekkirala Bharadwaja is an in-depth study of Sai Baba's life routine and activities. B.V. Narasimhaswamiji has written important books such as Sri Sai Baba's Charters and Sayings and Devotee's Experiences of Sai Baba. [edit]In various religions Sai Baba depicted on a tapestry [edit]Hinduism During Sai Baba's life, the Hindu saint Anandanath of Yewala declared Sai Baba a spiritual "diamond".[40] Another saint, Gangagir, called him a "jewel".[40] Sri Beedkar Maharaj greatly revered Sai Baba, and in 1873, when he met him he bestowed the title Jagad guru upon him.[41][42] Sai Baba was also greatly respected by Vasudevananda Saraswati (known as Tembye Swami).[43] He was also revered by a group of Shaivic yogis, to which he belonged, known as the Nath-Panchayat.[44] In 1940, Indian guru, Sathya Sai Baba proclaimed himself to be the reincarnation of Sai Baba of Shirdi.[45] Sathya Sai Baba had a considerable number of followers in the 20th and 21st century. [edit]Islam In a minor section of Islam community, Sai Baba is mainly considered as a Muslim fakir. He also appears in Sufism as a Pir. [edit]Zoroastrianism Sai Baba is also worshipped by prominent Zoroastrians such as Nanabhoy Palkhivala and Homi Bhabha, and has been cited as the Zoroastrians' most popular non-Zoroastrian religious figure.[46] [edit]Others Meher Baba, who was born into a Zoroastrian family, met Sai Baba only once in his lifetime, during World War I, in December 1915. Meher Baba was still a youngster named Merwan Sheriar Irani when he met Sai Baba for a few minutes during one of Sai Baba's processions in Shirdi. This event is considered as the most significant in Meher Baba's life. Shri Sai Satcharita (Sai Baba's life story), makes no mention of Meher Baba. But in Lord Meher, the life story of Meher Baba, there are innumerable references to Sai Baba.[37] Meher Baba credited his Avataric advent to Upasni, Sai Baba, and three other Perfect Masters – Hazrat Babajan, Hazrat Tajuddin Baba, and Narayan Maharaj. Meher Baba declared Sai Baba to be a Qutub-e-Irshad – the highest of the five Qutubs, a "Master of the Universe" in the spiritual hierarchy.[47] [edit]In culture [edit]Sacred art and architecture In India, its a common sight to find a Sai Baba temple in any city or town, in every large city or town there is at least one temple dedicated to Sai Baba.[4] There are even some in towns and cities outside India. In the mosque in Shirdi in which Sai Baba lived, there is a life-size portrait of him by Shama Rao Jaykar, an artist from Mumbai. Numerous monuments and statues depicting Sai Baba, which serve a religious function, have also been made. One of them, made of marble by a sculptor named Balaji Vasant Talim, is in the Samadhi Mandir in Shirdi where Sai Baba was buried.[48] In Sai Baba temples, his devotees play various kinds of devotional religious music, such as aarti.[49] [edit]Stamp Indian Postal Service released a Sai Baba commemorative stamp in May 2008.[50] On July 30, 2009, the New and Renewable Energy Minister Farooq Abdullah inaugurated what has been acclaimed as the largest solar steam system in the world, at the Shirdi shrine. The Shri Sai Baba Sansthan Trust paid an estimated Rs.1.33 crore for the system, Rs.58.4 lakh of which was paid as a subsidy by the renewable energy ministry. It is said the system can cook 20,000 meals per day for pilgrims visiting the temple.[12][51][52][53]
+++ DISCLAIMER +++ Nothing you see here is real, even though the conversion or the presented background story might be based historical facts. BEWARE! Canadair’s impressive CF-151 ‘Kodiak’ interceptor had a long development story, and the fact that Canada developed an indigenous high-end fighter after the demise of Avro Canada’s CF-105 ‘Arrow’ in the late 50ies was an amazing achievement. The Kodiak’s stillborn predecessor, the Avro Canada CF-105 ‘Arrow’, was a heavy interceptor aircraft, designed and built by Avro Canada as the culmination of a design study that began in 1953. Considered to be both an advanced technical and aerodynamic achievement for the Canadian aviation industry, the delta wing CF-105 held the promise of near Mach 3 speeds at altitudes likely exceeding 60,000 ft. (18,000 m), and was intended to serve as the Royal Canadian Air Force's (RCAF) primary interceptor in the 1960s and beyond. It was a very promising aircraft, but not long after the 1958 start of its flight test program, the development of the Arrow (including its Orenda Iroquois jet engines) was abruptly and controversially halted before the project review in 1959 had taken place, sparking a long and bitter political debate. UK also had interest in the Arrow, but this, too, was halted when the Government decided that the age of manned fighters had come to an end – the EE Lightning was just lucky enough to survive this decision. Anyway, this sudden end to the national interceptor project left Canada with a touchy defense gap in the vast Northern Territories. In 1961, the RCAF obtained 66 CF-101 Voodoo aircraft, one of the American designs the RCAF originally rejected, to serve in the role originally intended for the Avro Arrow. But this was only seen as a stopgap solution – what was needed was a missile-equipped long range interceptor with excellent range, loiter time and the ability to make prolonged dashes at high speed. A true dogfight capability was not required, since it was expected that the targets would be heavy bombers, coming in at high altitudes and subsonic speed. With the technical advances in the late 60ies, variable geometry aircraft became a promising solution to combine these requirements in a single airframe. Canadair (at that time heavily linked with General Dynamics in the USA) started in 1962 a design study for a heavy swing wing interceptor for the RCAF, which would replace the Voodoos in the 70ies. This was surely driven by the multi-purpose F-111 development for both USAF and USN at that era, but the Canadian aircraft would be a completely new design, tailored to the local needs and with an indigenous weapon system. The project received the internal code of CL-151 and was an impressive, if not elegant aircraft: with its low-set wings and the tandem cockpit for pilot and system operator it differed greatly from the F-111. Most fuel was carried in the fuselage, between the air intake ducts and the fixed wing roots. Only the outer wing parts were moveable – a much simpler construction than the F-111. The main weapons, exclusively missiles, were carried semi-recessed under the fuselage, even though pylons under the fixed wing parts, just outside of the landing gear wells, could carry drop tanks. Additional smaller hardpoints on the inner wings' leading egdes could carry up to two Sidewinder AAMs each for short range combat and self-defense. An internal gun was not mounted, even though external SUU-23 gun pods were an option. Unique features of the CL-151 were its ability to take-off and land on semi-prepared airstrips (specifically, on packed snow and soggy ground), so it received a massive landing gear with low presure twin wheels on all legs, as well as an arrestor hook for forced landings. In order to fit the main landing gear into the wing roots without sacrificing too much depth in the fuselage it received tandem bogies, similar to the Swedish Saab A37 Viggen. Another novel feature was an APU, which was installed together with a heat exchanger in the fin root, so that the CL-151 could be operated with as little maintenance infrastructure as possible. Core of the CL-151 weapon system was the indigenous CMG-151 radar. This was a state-of-the-art all-weather, multi-mode X-Band pulse doppler radar system with a huge 38” dish antenna in the aircraft’s nose - light years ahead of the vintage Hughes MG-13 fire control radar of the F-102, which was also installed in the CF-101, a design of the early 50ies. Functionally the CMG-151 was very similar to the American AN/AWG-9, even though less capable. It was designed to detect bomber-sized targets at ranges exceeding 60 miles (100 km) and it featured look-down/shoot-down capabilities, making the fighter suitable to various interception tasks, e .g. against low flying tactical bombers. The CMG-151 offered a variety of air-to-air modes including long-range continuous wave velocity search, range-while-search at shorter ranges, and the first use of an airborne track-while-scan mode with the ability to track up to 16 airborne targets, display 8 of them on the cockpit displays, and launch against 4 of them at the same time. This function was originally designed to allow the CL-151 to shoot down formations of bombers at long range. The CMG was also coupled with an infrared sighting and tracking (IRST) under the aircraft's nose, which offered with a fire control system enhancement against hostile ECM. This feature was incororated in parallel to "Project Bold Journey", which was an CAF F-101B upgrade programm, running from 1963-66. There was also a projected, corresponding long-range missile, the AIM-151 ‘Swan’. This was a derivate of the US-American Bendix AAM-N-10 ‘Eagle’, which had been developed for the US Navy’s fruitless ‘Missileer’ program. During its development, the capabilities of the new missile grew tremendously. Growing ever larger, the missile's range was extended to 100 miles (160 km), using an Aerojet-General XM59 solid-fuel motor. Since this would be beyond the range of effective semi-active homing, a new active-radar terminal seeker was added to the missile. But things got more and more complicated, and in the end the AIM-151 was cancelled in 1966. Nevertheless, the CL-151 needed a guided weapon to fulfil its task - and the aircraft' armament were also an important political decision, since the CF-101’s unguided, nuclear AIR-2A ‘Genie’ missiles had been a constant issue of debate and controversy. In the end, and as a cost-effective compromise, an updated version of the AIM-7E 'Sparrow' was bought, the AIM-7EC. This version was optimized for a longer range (50ml/80km) and equipped with better avionics, making it comparable to the British Sky Flash AAM. Four of these weapons could be carried under the fuselage, and up to four more could be mounted on the wing hardpoints. Overall, the CL-151 system was a very ambitious and prestigious project – just like the failed CH-105 before. It was not before 3rd of April 1968 until the first prototype made its maiden flight in Montreal. The aircraft’s all light-grey livery and sheer, massive size earned it the nicknames ‘Moby Dick’ and "Grey Goose'. Officially, with its service introduction in November 1969 as CF-151A, the aircraft was christened ‘Kodiak’. The Kodiak proved to be THE interceptor Canada had long been searching for – but it was costly, could have achieved more and fell victim to ever new political controversy, so that effectively only 43 airframes (two prototypes, one static test airframe, five pre-series aircraft and finally 35 serial aircraft) were eventually built at slow pace until 1973. There had been hopes to find foreign customers for the CF-151, but potential users of sucha specialized, complex and simply large aircraft limited the circle of potential users. Great Britain was already settled on the Tornado ADV and Sweden, as a neutral country, preferred a national solution which would lead to the JA37 Jaktviggen and later to the JAS 39 Gripen. So, the CAF would be the only user of the Kodiak, and all machines, except for the three initial development airframes, were allocated to various interceptor squadrons and served alongside the ageing CF-101 Voodoos, primarily in long-range patrol duties in Canada's far north. Time did not stand still, though, and technology developed in a fast pace: through the 1970s, the increasing obsolescence of the CAF’s CF-101 and the CF-104 led the CAF to plans for their joint replacement by a single type. This respective ‘New Fighter Aircraft’ program was launched in 1977 with the intention of finding a replacement for the CF-5, CF-104 Starfighter and CF-101 Voodoo. An updated Kodiak as well as Grumman F-14 Tomcat, F-15 Eagle, F-16 Falcon, McDonnell Douglas F/A-18 Hornet, Panavia Tornado and the Dassault Mirage F1 (later replaced by the Mirage 2000) were all considered and evaluated as potential replacements. Cost considerations eventually reduced the choice to the F-16 and F-18, and the F-18 ultimately prevailed, likely because of the additional safety of twin engines when flying in remote areas. The decision for the (C)F-18 was announced on 10 April 1980. This was the end of the CF-151A, just after one decade of successful service. Ironically, the CF-101s, which the CF-151 had been supposed to replace, soldiered on until retirement in the 1980s. When these had been replaced with McDonnell Douglas CF-18 Hornet fighters, the death knell for the big and complex Kodiak rang, too. The CF-151 was quickly becoming outdated and an aircraft of very limited use, despite its formidable capabilities as a heavy interceptor. But potential war scenarios had changed, and economical as well as political developments could not justify the expensive (and small) Kodiak fleet anymore. Consequently, the last CAF CF-151 flight took place on August 18th 2000, when the last indigenous Canadian fighter type was replaced by CF-18s, too. Canadair CF-151A general characteristics Crew: 2 Length: 21.2 m (69 ft 10 in) Wingspan: spread (20° sweep): 17.14 m (66 ft 3 in); swept (65° sweep): 11,65 m (38 ft 3 in) Height: 5.55 m (18 ft 2 in) Empty weight: 47,200 lb (21,400 kg) Loaded weight: 82,800 lb (37,600 kg) Max. takeoff weight: 100,000 lb (45,300 kg) Powerplant: 2× GE TF30-P-3 turbofan jet engines, rated at 12,000 lbf (53 kN) dry and 18,500 lbf (82 kN) at full afterburner Performance: Maximum speed: Mach 2.5 (1,650 mph, 2,655 km/h) at altitude and in clean configuration Combat radius: 1,330 mi (1,160 nmi, 2,140 km) Ferry range: 4,200 mi (3,700 nmi, 6,760 km) Service ceiling: 66,000 ft (20,100 m) Rate of climb: 25,890 ft/min (131.5 m/s) Armament: 4× AIM-7E3 'Sparrow' medium-/long-range AAMs, semi-recessed under the fuselage 4× AIM-9M 'Sidewinder' short range AAMs on wing hardpoints 2× drop tanks under the outer fixed wings Theoretical external ordnance of up to 15.200lb (6.900kg) The kit and its assembly A bold and weird project. It all started when I was pondering the idea of a whiffy, large VG fighter in the class of a F-4 or MiG-25. While reading book about OKB Tupolev, when I realized that the Tu-22M had pretty fighter-like lines, even for a bomber. Some math revealed that reducing the aircraft by 50% in any dimension would yield a proper airframe, and so I started out searching for a 1:144 kit which would be turned into a fine 1:72 interceptor! Strangely, respective kits are rare and expensive. The Dragon kit is 1st choice, but I found a re-boxed Dragon kit from 1985 under the obscure “New Craft” label (supposed to come from Japan) in North Carolina, only for US$12. Its fuselage and wings would be taken 1:1. Three areas needed modification/donations, though. One issue is the tail fin. The Tu-22M’s fin, with its broad root section and the tail barbette, would not look good on a 1:72 kit, so it was completely replaced with a fin from a Panavia Tornado (Italeri). On the other end of the kit, I decided to implant a new front with a tandem cockpit. At first I just wanted to cut open the fuselage’s upper side, implant some seats and cover it with a TF-104 canopy, but I discarded it as impractical. Additionally, too much of the Tu-22M’s silhouette would be left. As a surprising solution I found that the forward fuselage from a Su-15 (I had fuselage parts from a PM single-seated version still in the scrap box from my Ha-410 project) could be easily transplanted onto the Tu-22M fuselage, just in front of the air intakes! Dimensions and shape fit VERY well, and since the PM kit is cheap and widely available I ordered a NiB Su-15UM (a two-seater) from PM as a donation kit, for just US$8, instead of fighting with the single-seater. The rest were rather minor modifications: the cockpit interior was built from scratch, with dashboards from a Tornado IDS, two IAI Kfir ejection seats and side consoles made from styrene strips. Nothing fancy, but the PM kit is totally bleak... Externally, the fairing for the 1:144 AS-6 ‘Kingfisher’ missile was closed (with a piece of styrene, cut to size), jet nozzles from a Tornado IDS added (drilled open and simply glued onto the Tu-22M nozzles), and a spine implanted between the canopy and the fin. The landing gear is also completely new: the front wheel comes from a F-18 (reversed, though), the tandem bogies for the main landing gear are leftover pieces from a VEB Plasticart Tu-20/95 bomber kit, placed on struts from a F-117 kit and fitted with wheels which actually belong to the dolly in a Amodel X-20M missile kit. The missiles are leftover pieces from a wrecked Italeri Tornado F.3. The drop tanks belong to a Revell F-16 - I originally wanted to use even bigger ones, from a vintage "box-scale" F-100 from Revell, but these proved to be to bulbous: they'd contact the landing gear. Painting and markings While a lot of Soviet design went into this aircraft, the idea of a Canadian alternative/successor to the F-101 and CF-105 prevailed. Additionally, I also organized a complete marking set for CAF CF-101s (from Wintervalley in Canada), so that authentic markings could be applied. While it sounds a bit boring, the simple, all-grey livery of CAF interceptors suits the Kodiak’s elegant lines well. Hence, the whole aircraft was painted in glossy FS16515 (Testors 2039), with a black radome and a blue fin rudder with three black stripes (a 409 Squadron marking) – very simple. In order to emphasize details and pint out panel lines the model received a wash with thin black ink, as well as some dry-painting with lighter shades of grey on the upper surfaces. Canadian aircraft look rather tidy, so a thorough weathering or true worn look was not intended. Cockpit interior was painted in medium grey (Humbrol 140), the landing gear as well as the air intakes in white (Humbrol 130). The landing gear interior was painted white, too, everything was kept rather simple. Additionally, some weathering and stains were added with dry-brushed shades of grey. As mentioned before, all markings come from an aftermarket decal sheet from Wintervalley Model Products from Canada (now Canuck Models). Great stuff - if you search for authentic and high quality markings for ‘something Canadian’, look there! Finally, everything was sealed under a coat of Tamiya Semi Gloss acryllic varnish, just the glare shield in front of the cockpit became totally matt. What should I say? An idea that lingered for months finally became hardware, and it is a big and impressive bird. Surely, with the real CF-105 background, this model has a melancholic touch... Who knows what might have been if the CF-105 had not been axed in the late 50ies...? Maybe the Kodiak! ^^
Macromania is more than big pictures. Answers to why I like Dufour, who remains a personal and family friend since 1998 or so. I recognise his skilled work, just like a collector will recognise a Bertone or a PininFarina. It s not the brand. For work of Dufour, exceeding his known ones...they can be found and seen. I have what I want. For a man who answers to a boardroom or to an auction market, he is as honest as his employers will allow. Next. During the 10 years when I taught clinical medicine, I said Do not confuse quality of work, with beauty of work. One emphazises discipline, the other is an ability, a gift, to deliver and to express joy and happiness to the observer, and to the owner often 100x more. Judgment will divide, as it is designed to be. There is a right and a wrong, but there is also a time when such is right or wrong. It s called singularity in continuum, in my foolishness. In the classic film The Eiger Sanction , Clint Eastwood s character of a history professor alias CIA asassin almost pays the ultimate price for beauty...100 year old canvass/wood with a 1/2 inch of emotionally applied paint from linseed. Greubel Forseys brought that to reality. An aging professor, assassin and climber, fights the most dangerous face of Eiger to do his job. Kill a man who will bring death to hundreds...and be paid a painting. Big macros changed the world when people could share them for free. Most of all, it seeded changes to watch making from 1998. WHY? Some people began switching to digital, it was very hard. I mean, it was 30 over years from film. It took alot of convincing. But, it created the watch industry...because we could see. Sight brought so much into the watch. Imagine if nobody ever drew or painted. Just for the heck of making a picture. Not for study or working or building or science....but just to make a picture. Up till the late 90s, we bought watches for the way they worked to deliver time. There was status, some small hobby, some small image projection. But there were no arguments over issues. Debates over what is beauty versus quality. Much more on this later. A better man, Anthony Whiten, once said that any cloack/watch examined (before macro digital) was nothing more than a lack of precision as we understand the word. Noisy...a waste of energy, vibrations...similar, shafts of visible light...similar. Macromania ( my word), Dufour, the web, digital resolution, forums online, Japanese Seiko philosophy and now in a smaller way Greubel Forsey...bring us closer to precision. Let me have one word. I must state that I write to share, not to influence. It s an honor when people introduce me as the Rainmaker as long ago as 2004. But I don t deserve that. It s people who create economies. I was relevant enough to have people waste their energy to dislike me, I am grateful. So, back to the Sony 707. The 2 megapixel DSC-F505 was revealed back in August 1999. Then in April 2000 Sony announced an upgraded DSC-F505V, it was essentially the same but with a 3.3 megapixel sensor. And some two years since the F505, Sony has revealed the 5 megapixel F707. This digital camera has the same lens / swivelled body design of the F505, indeed at first glance their are a lot of similarities, it is an impressive evolution in the best sense of the word. The F707 still features a Carl Zeiss lens, uses a larger 2/3 CCD. The Sony F707 created a collector called bernard cheong , me. It allowed me to speak thru technology I never dreamed of. Most of all, it allowed me to share personal pursuits. Passions that, like doing static yoga stretching, were secret since I always thought they bored people. See how wrong I was. By 2000, I had already bought a whole era of Langes, the Blumlein era. Even being so anal as to buy all the versions of the Lange 1...even a bracelet Lange 1 platinum I own. Yes, by 2000, I sort of got the idea some people liked watches, but I think they like Pateks and Rolex...like I did/do till now. I was from a lower class background, and the more or less inexpensive watches were what I could afford. I had also 2 kids aged 10 and 8 by 2001. There were only budding forums, Timezone and later thepurists. The one thing people didn t see in me, but I believed I was, is that I am a thug. Yep. By age 21, I had fought barefisted, broke at least 1 table by falling on it, thrashed a 2,000 sq feet pub in a 4 by4 man fight...all of that. The strange thing was that I collected watches, stamps, old comic books, old leather bound books of first ditions, newspaper event cuttings from the shot from the knoll to the footprint on the moon. I was a funny guy. But a thug. There is one thing about thugs...we don t like people who feel as if they are better than others, especially when it s not me...strange. I have no issues about people who feel they are better than I. But man, my hair would rise when I sense the feeling of the privileged . In 2004, an unknown man called Wei Koh called to interview me...for Hong Kong Tatler. I liked the guy, I don t talk to him any more because he recorded confidential information, and represented it out of context, without consulting or telling me. The thug in me had already grown tired. I guess he liked money, and spoke better to epople with money. The watch making world brought out so many more of these insincere people, in my eyes...which are mine. There was also Matthew Morse. Wei used him. Matthew was a funny guy who immediately struck me as a person who doubted me, how on earth will or would a punk like me, own such watches? So, he asked for an interview, and because in those days Watchtime didn t have the budget, told me to send him my own photoshoot , but unlike (I suspect) other refined collectors, this china man had to get my shoot done on 6x6 transparencies. Those *#@%ing kodachromes cost money. OK. I know the deal. I am, was not hard up to appear on magazines, if I did, I would buy branded watches....but nonetheless..I hired a photographer, used my trusty Hassy..which I doubt Matthew uses for rough play...and shot the damned thing. Matthew...it was a different world then. Forgive me....I was being unkind to you. I didn t own enough unbranded watches yet in 2004, so I borrowed them from The Hour Glass...I later owned in excess of all that, so it does not go down as BS. Revo was born earlier, not premature, I was nicely in the first few issues. But brands were kings, rulers and dictators. I used Revo devoiusly to help Dufour, Vianney,Lange, IWC and a few others to rise up against Patek and Rolex. But fairly...in my eyes. Revo, I knew, could not resist temptation to be the best, make money and fame...hell, I can t! If you brought weapons of advertisement, previously unaffordable to the independents, Patek and Rolex will kneel. My game worked to a T. To test it, I used HWRT s project Opus. Goldpfeil had failed, but in my own game, I made the equalizer. I completed 3 books, UN, Dufour and Vianney...published them myself, made enough money to finance the better independents by buying or leveraging retailers to buy. I raised a small army of previously unknown, unsupported people. Hucksters soon came...but I will not go into that. My bigger plan was a personal challenge with Mike Tay of TheHourGlass...I like the guy. I proposed that we could help build an economy that previously didn t exist. It was called making the industry of watchmaking into art. I know Mike feels watchmaking is never art at all...because it s mass produced. Well. I feel, that if cars and planes could be so... art , so would machines, I had been around in 1976 with some olympus camera designers, and they had shown me that light could bend thru a scope, to insert into the body...wow...1976. I recall, the word...industrial design....I said it was art. My second MR s Spyder almost made it to installation art, and I was in the car...survived. Convincing Micheal Tay was much harder. Today...Micheal says its art. I hope he allows me into his shops again. So..with my limited finances, I saved for a Japanese sports car...I must have had the right taste, because I chose the Datsun SSS sports sedan, one of history s most significant inexpensive cars to fight Porsche. I bought the Toyota MR2 T bar, the first model....it was not allowed to be brought into Singapore...but I raised a ruckus, and soon, I was the first to own it. Sadly...by 1990s, my first generation ground zero, self made wealth cracked under sucess....I bought a Mercedes SL, also the 1st in Singapore. Those days, no one will buy a cabrio. But my T bar toyota was a good teacher. The lesson was....I lost sight of the cars, I bought brands, adverts, etc....in 1990 or so...my many antique buying trips to UK, brought me to one LJK Setright, an old funny guy, who liked me. But more...I met, once, a man called Jeremy Clarkson..curly hair, a thug...like me...I think he sort of liked the way I spoke english...which was badly. He told me to start writting for CAR...in asia. I took his advice, and I was a motor journalist, and again...I only reviewed cars I owned. The car business turned worse...making cars cost$450,000 USD for a basic Porsche 911, and $100,000 USD ffor my Toyota MR2. So...I have to buy less cars. I own only 4 today. Inexpensive ones. But for a new 911 Cab bought oct 2013....in spore, we can keep the cars only 10 years....so the watch market blossomed. Imagine..this was 1998...18 years ago. This cheap Spacewagon, which I loved so much....cost me $116,000 sgd ?!? Crazy..now it is crushed and could be a part of the Patek Nautilus you own, or one of mine! At the same time or so...this older Hublot Subaquaneous...is a 2000m watch, its as thin as the Patek below, and is the same size. Imagine the HUGE 2000m watches we have today...now...what is beauty and what is quality? We must have improved on one. My 20 year or so old Patek!!! I had, still have, this old version of Patek...that it should have a flip open half hunter, hobnail like looking rim, and some meaningless subdials on dial, which must be emaculately white...enamel, painted enamel white, Not serviced. No trouble. Beauty. However, it looses out on quality and beauty, after I saw all or any Greubel Forsey. It s the extreme use of over the top finish as well as materials as well as the cut. They should have used it for the King smen. People saw the art in watches so quickly. My own employees complex watches which MDs and CEOs wear in the UK....but the depth of knowledge is not there. If cars cost the same, they will not buy watches. Period. An entry level condo 900 sq foot here costs 1 million bucks sgd....99 leasehold. Landed homes, freehold begin at 4 million for 2300 sq feet. But packed into narrow lanes. I live in the forested hilltop, 471 feet sea level. No buildings behind, for 3 miles. Useable land area 16,000 sq feet. Freehold. Average prices go into the 12 to 18 million. How can I pay for anything like that, with zero in bank account, and parents and kids to look after? Plus wife, also with poor parents. Honestly. It was my interest in watches second, and GOD..Jesus...FIRST. No doctors who start at ground zero live, or even grow bigger, like buying Greubel Forseys. People always ask..how come they cant do the same? I don t know. But I do know 2 things: (1) I made money when no one wanted to buy Panerais. Enough to push me into the zone . (2) All gamblers, but I don t gamble, are very particular about my watches. And to a lesser extent, businessmen. I am talking about a sample of 2004 to 2013....that within the limits of $10,000 to $200,000 sgd, they are willing to buy my watch, not FS but they will offer me, that I cant refuse, a price no one will do. Painfully, I sold at over 100% profits, a few of my treasured watches to them....so that I could buy my first Greubel second hand. The fact that good luck became a legend in my part of this world helped me to move yet into another zone. I will stop here. There is so much I don t understand about my own life. Again. My thanks to Vianney Halter, Dufour, Gunther Blumlein and Max Busser for believing in me. And to John Werner of Richemont for believing in my long term vision, that Cartier, Bulgari, Hermes and all I have written about will become art and even more valued...portable, sustainable and tough...and on reflection, costs as much as canvass or any emotional creation that takes valued time. I hope I have not hurt anyone...even Wei Koh. And answered a part of some kind posters questions. MacCallan Whiskey will be celebrating an anniversary, and a rare threesome of Greubel Forseys, all in platinum, from the first series will be there to illustrate that some things last....forever..not just diamonds. Oh..before I forget. You will enjoy this SEIKO. I bought it. I love it. I love it even more than the RM whatever. Plus...it costs so little..comparatively ly. There is beauty everywhere. NOW...if the industry simply stops making watches...all over the world, for 12 months...all in 2016...retailers will breathe. Customers will learn. Prices will normalize. Maybe stable. Stocks will clear. Workers can tidy the factories up. Retailers can audit. I think it will...call it Bernard s blunder nomics. Look at the gold one, and the white quartz one. This message has been edited by bernard cheong on 2015-06-26 08:35:50 This message has been edited by bernard cheong on 2015-06-26 08:39:09 This message has been edited by bernard cheong on 2015-06-26 08:45:36
This release incorporates many new features and bug fixes (465 PRs from 73 contributors) since our last release v5.0 in April, brings architecture tweaks, and also introduces new P5 and P6 'Nano' models: YOLOv5n and YOLOv5n6. Nano models maintain the YOLOv5s depth multiple of 0.33 but reduce the YOLOv5s width multiple from 0.50 to 0.25, resulting in ~75% fewer parameters, from 7.5M to 1.9M, ideal for mobile and CPU solutions. Example usage: python detect.py --weights yolov5n.pt --img 640 # Nano P5 model trained at --img 640 (28.4 [email protected]:0.95) python detect.py --weights yolov5n6.pt --img 1280 # Nano P6 model trained at --img 1280 (34.0 mAP0.5:0.95) Important Updates Roboflow Integration ⭐ NEW: Train YOLOv5 models directly on any Roboflow dataset with our new integration! (https://github.com/ultralytics/yolov5/issues/4975 by @Jacobsolawetz) YOLOv5n 'Nano' models ⭐ NEW: New smaller YOLOv5n (1.9M params) model below YOLOv5s (7.5M params), exports to 2.1 MB INT8 size, ideal for ultralight mobile solutions. (https://github.com/ultralytics/yolov5/discussions/5027 by @glenn-jocher) TensorFlow and Keras Export: TensorFlow, Keras, TFLite, TF.js model export now fully integrated using python export.py --include saved_model pb tflite tfjs (https://github.com/ultralytics/yolov5/pull/1127 by @zldrobit) OpenCV DNN: YOLOv5 ONNX models are now compatible with both OpenCV DNN and ONNX Runtime (https://github.com/ultralytics/yolov5/pull/4833 by @SamFC10). Model Architecture: Updated backbones are slightly smaller, faster and more accurate. Replacement of Focus() with an equivalent Conv(k=6, s=2, p=2) layer (https://github.com/ultralytics/yolov5/issues/4825 by @thomasbi1) for improved exportability New SPPF() replacement for SPP() layer for reduced ops (https://github.com/ultralytics/yolov5/pull/4420 by @glenn-jocher) Reduction in P3 backbone layer C3() repeats from 9 to 6 for improved speeds Reorder places SPPF() at end of backbone Reintroduction of shortcut in the last C3() backbone layer Updated hyperparameters with increased mixup and copy-paste augmentation New Results YOLOv5-P5 640 Figure (click to expand) Figure Notes (click to expand) * **COCO AP val** denotes [email protected]:0.95 metric measured on the 5000-image [COCO val2017](http://cocodataset.org) dataset over various inference sizes from 256 to 1536. * **GPU Speed** measures average inference time per image on [COCO val2017](http://cocodataset.org) dataset using a [AWS p3.2xlarge](https://aws.amazon.com/ec2/instance-types/p3/) V100 instance at batch-size 32. * **EfficientDet** data from [google/automl](https://github.com/google/automl) at batch size 8. * **Reproduce** by `python val.py --task study --data coco.yaml --iou 0.7 --weights yolov5n6.pt yolov5s6.pt yolov5m6.pt yolov5l6.pt yolov5x6.pt` mAP improves from +0.3% to +1.1% across all models, and ~5% FLOPs reduction produces slight speed improvements and a reduced CUDA memory footprint. Example YOLOv5l before and after metrics: YOLOv5lLarge size(pixels) mAPval0.5:0.95 mAPval0.5 SpeedCPU b1(ms) SpeedV100 b1(ms) SpeedV100 b32(ms) params(M) FLOPs@640 (B) v5.0 (previous) 640 48.2 66.9 457.9 11.6 2.8 47.0 115.4 v6.0 (this release) 640 48.8 67.2 424.5 10.9 2.7 46.5 109.1 Pretrained Checkpoints Model size(pixels) mAPval0.5:0.95 mAPval0.5 SpeedCPU b1(ms) SpeedV100 b1(ms) SpeedV100 b32(ms) params(M) FLOPs@640 (B) YOLOv5n 640 28.4 46.0 45 6.3 0.6 1.9 4.5 YOLOv5s 640 37.2 56.0 98 6.4 0.9 7.2 16.5 YOLOv5m 640 45.2 63.9 224 8.2 1.7 21.2 49.0 YOLOv5l 640 48.8 67.2 430 10.1 2.7 46.5 109.1 YOLOv5x 640 50.7 68.9 766 12.1 4.8 86.7 205.7 YOLOv5n6 1280 34.0 50.7 153 8.1 2.1 3.2 4.6 YOLOv5s6 1280 44.5 63.0 385 8.2 3.6 16.8 12.6 YOLOv5m6 1280 51.0 69.0 887 11.1 6.8 35.7 50.0 YOLOv5l6 1280 53.6 71.6 1784 15.8 10.5 76.8 111.4 YOLOv5x6+ TTA 12801536 54.755.4 72.472.3 3136- 26.2- 19.4- 140.7- 209.8- Table Notes (click to expand) * All checkpoints are trained to 300 epochs with default settings. Nano models use [hyp.scratch-low.yaml](https://github.com/ultralytics/yolov5/blob/master/data/hyps/hyp.scratch-low.yaml) hyperparameters, all others use [hyp.scratch-high.yaml](https://github.com/ultralytics/yolov5/blob/master/data/hyps/hyp.scratch-high.yaml). * **mAPval** values are for single-model single-scale on [COCO val2017](http://cocodataset.org) dataset.Reproduce by `python val.py --data coco.yaml --img 640 --conf 0.001 --iou 0.65` * **Speed** averaged over COCO val images using a [AWS p3.2xlarge](https://aws.amazon.com/ec2/instance-types/p3/) instance. NMS times (~1 ms/img) not included.Reproduce by `python val.py --data coco.yaml --img 640 --conf 0.25 --iou 0.45` * **TTA** [Test Time Augmentation](https://github.com/ultralytics/yolov5/issues/303) includes reflection and scale augmentations.Reproduce by `python val.py --data coco.yaml --img 1536 --iou 0.7 --augment` Changelog Changes between previous release and this release: https://github.com/ultralytics/yolov5/compare/v5.0...v6.0 Changes since this release: https://github.com/ultralytics/yolov5/compare/v6.0...HEAD New Features and Bug Fixes (465) * YOLOv5 v5.0 Release patch 1 by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2764 * Flask REST API Example by @robmarkcole in https://github.com/ultralytics/yolov5/pull/2732 * ONNX Simplifier by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2815 * YouTube Bug Fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2818 * PyTorch Hub cv2 .save() .show() bug fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2831 * Create FUNDING.yml by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2832 * Update FUNDING.yml by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2833 * Fix ONNX dynamic axes export support with onnx simplifier, make onnx simplifier optional by @timstokman in https://github.com/ultralytics/yolov5/pull/2856 * Update increment_path() to handle file paths by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2867 * Detection cropping+saving feature addition for detect.py and PyTorch Hub by @Ab-Abdurrahman in https://github.com/ultralytics/yolov5/pull/2827 * Implement yaml.safe_load() by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2876 * Cleanup load_image() by @JoshSong in https://github.com/ultralytics/yolov5/pull/2871 * bug fix: switched rows and cols for correct detections in confusion matrix by @MichHeilig in https://github.com/ultralytics/yolov5/pull/2883 * VisDrone2019-DET Dataset Auto-Download by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2882 * Uppercase model filenames enabled by @r-blmnr in https://github.com/ultralytics/yolov5/pull/2890 * ACON activation function by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2893 * Explicit opt function arguments by @fcakyon in https://github.com/ultralytics/yolov5/pull/2817 * Update yolo.py by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2899 * Update google_utils.py by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2900 * Add detect.py --hide-conf --hide-labels --line-thickness options by @Ashafix in https://github.com/ultralytics/yolov5/pull/2658 * Default optimize_for_mobile() on TorchScript models by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2908 * Update export.py onnx -> ct print bug fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2909 * Update export.py for 2 dry runs by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2910 * Add file_size() function by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2911 * Update download() for tar.gz files by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2919 * Update visdrone.yaml bug fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2921 * changed default value of hide label argument to False by @albinxavi in https://github.com/ultralytics/yolov5/pull/2923 * Change default value of hide-conf argument to false by @albinxavi in https://github.com/ultralytics/yolov5/pull/2925 * test.py native --single-cls by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2928 * Add verbose option to pytorch hub models by @NanoCode012 in https://github.com/ultralytics/yolov5/pull/2926 * ACON Activation batch-size 1 bug patch by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2901 * Check_requirements() enclosing apostrophe bug fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2929 * Update README.md by @BZFYS in https://github.com/ultralytics/yolov5/pull/2934 * Improved yolo.py profiling by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2940 * Add yolov5/ to sys.path() for *.py subdir exec by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2949 * New Colors() class by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2963 * Update restapi.py by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2967 * Global Wheat Detection 2020 Dataset Auto-Download by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2968 * Objects365 Dataset AutoDownload by @ferdinandl007 in https://github.com/ultralytics/yolov5/pull/2932 * Update check_requirements() exclude list by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2974 * Make cache saving optional by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2977 * YOLOv5 AWS Inferentia Inplace compatibility updates by @jluntamazon in https://github.com/ultralytics/yolov5/pull/2953 * PyTorch Hub load directly when possible by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/2986 * Improve performance of dataset Logger by @AyushExel in https://github.com/ultralytics/yolov5/pull/2943 * Add unzip flag to download() by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3002 * Curl update by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3004 * Update hubconf.py for unified loading by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3005 * hubconf.py bug fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3007 * Added support for fp16 (half) to export.py by @hodovo in https://github.com/ultralytics/yolov5/pull/3010 * Add is_colab() function by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3018 * Add NMS threshold checks by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3020 * Fix ONNX export using --grid --simplify --dynamic simultaneously by @jylink in https://github.com/ultralytics/yolov5/pull/2982 * download() ThreadPool update by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3027 * FROM nvcr.io/nvidia/pytorch:21.04-py3 by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3030 * Fix #3031 : use check_file for --data by @AyushExel in https://github.com/ultralytics/yolov5/pull/3035 * Add get_coco128.sh for downloading the coco128 dataset by @zldrobit in https://github.com/ultralytics/yolov5/pull/3047 * Do not optimize CoreML TorchScript model by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3055 * Fixed #3042 by @kepler62f in https://github.com/ultralytics/yolov5/pull/3058 * Update export.py with --train mode argument by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3066 * Explicitly convert artifact path to posix_path by @AyushExel in https://github.com/ultralytics/yolov5/pull/3067 * Update P5 + P6 model ensembling by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3082 * Update detect.py by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3087 * Add check_python() by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3088 * Add --optimize argument by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3093 * Update train.py by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3099 * Update GlobalWheat2020.yaml test: # 1276 images by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3101 * detect.py streaming source `--save-crop` bug fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3102 * Replace print() with logging.info() in trainloader by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3103 * New Ultralytics Colors() Palette by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3046 * Update JSON response by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3139 * Update https://ultralytics.com/images/zidane.jpg by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3140 * Add yolov5/__init__.py by @KC-Zhang in https://github.com/ultralytics/yolov5/pull/3127 * Add `--include torchscript onnx coreml` argument by @CristiFati in https://github.com/ultralytics/yolov5/pull/3137 * TorchScript, ONNX, CoreML Export tutorial title by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3142 * Update requirements.txt `onnx>=1.9.0` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3143 * Scope imports for torch.hub.list() improvement by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3144 * Scope all hubconf.py imports for torch.hub.list() by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3145 * SKU-110K CVPR2019 Dataset Auto-Download by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3167 * rename class autoShape -> AutoShape by @developer0hye in https://github.com/ultralytics/yolov5/pull/3173 * Parameterize ONNX `--opset-version` by @CristiFati in https://github.com/ultralytics/yolov5/pull/3154 * Add `device` argument to PyTorch Hub models by @cgerum in https://github.com/ultralytics/yolov5/pull/3104 * Plot labels.png histogram colors by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3192 * Add CAP_PROP_FRAME_COUNT for YouTube sources by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3193 * Silent List Bug Fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3214 * 0 FPS stream bug fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3216 * Parameterize max_det + inference default at 1000 by @adrianholovaty in https://github.com/ultralytics/yolov5/pull/3215 * TensorBoard add_graph() fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3236 * `plot_one_box()` default `color=(128, 128, 128)` by @yeric1789 in https://github.com/ultralytics/yolov5/pull/3240 * Add Cython by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3217 * Check CoreML models.train() mode by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3262 * Assert `--image-weights` not combined with DDP by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3275 * check `batch_size % utilized_device_count` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3276 * YouTube stream ending fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3277 * Fix TypeError: 'PosixPath' object is not iterable by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3285 * Improves docs and handling of entities and resuming by WandbLogger by @charlesfrye in https://github.com/ultralytics/yolov5/pull/3264 * Update LoadStreams init fallbacks by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3295 * PyTorch Hub `crops = results.crop()` return values by @yeric1789 in https://github.com/ultralytics/yolov5/pull/3282 * Comment Cython by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3297 * Improved check_requirements() robustness by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3298 * Explicit `git clone` master by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3311 * Implement `@torch.no_grad()` decorator by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3312 * Remove www subdomain from https://ultralytics.com by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3320 * TensorBoard DP/DDP graph fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3325 * yolo.py header by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3347 * Updated cache v0.2 with `hashlib` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3350 * Add URL file download to check_file() by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3330 * ONNX export in `.train()` mode fix by @ChaofWang in https://github.com/ultralytics/yolov5/pull/3362 * Ignore blank lines in `*.txt` labels by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3366 * update ci-testing.yml by @SkalskiP in https://github.com/ultralytics/yolov5/pull/3322 * Enable direct `--weights URL` definition by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3373 * Add Open in Kaggle badge by @pizzaz93 in https://github.com/ultralytics/yolov5/pull/3368 * `cv2.imread(img, -1)` for IMREAD_UNCHANGED by @tudoulei in https://github.com/ultralytics/yolov5/pull/3379 * COCO evolution fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3388 * Create `is_pip()` function by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3391 * Revert "`cv2.imread(img, -1)` for IMREAD_UNCHANGED" by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3395 * Update FLOPs description. by @chocosaj in https://github.com/ultralytics/yolov5/pull/3422 * Parse URL authentication by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3424 * Add FLOPs title to table by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3453 * Suppress jit trace warning + graph once by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3454 * Update MixUp augmentation `alpha=beta=32.0` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3455 * Add `timeout()` class by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3460 * Faster HSV augmentation by @developer0hye in https://github.com/ultralytics/yolov5/pull/3462 * Add `check_git_status()` 5 second timeout by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3464 * Improved `check_requirements()` offline-handling by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3466 * Add `output_names` argument for ONNX export with dynamic axes by @SamSamhuns in https://github.com/ultralytics/yolov5/pull/3456 * Revert FP16 `test.py` and `detect.py` inference to FP32 default by @edificewang in https://github.com/ultralytics/yolov5/pull/3423 * Add additional links/resources to stale.yml message by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3467 * Update stale.yml HUB URL by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3468 * Stale `github.actor` bug fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3483 * Explicit `model.eval()` call `if opt.train=False` by @developer0hye in https://github.com/ultralytics/yolov5/pull/3475 * check_requirements() exclude `opencv-python` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3495 * check_requirements() exclude `opencv-python` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3507 * early assert for cpu and half option by @developer0hye in https://github.com/ultralytics/yolov5/pull/3508 * Update tutorial.ipynb by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3510 * Reduce test.py results spacing by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3511 * Update README.md by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3512 * Merge `develop` branch into `master` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3518 * Use multi-threading in cache_labels by @deanmark in https://github.com/ultralytics/yolov5/pull/3505 * Update datasets.py by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3531 * Update FP16 `--half` argument for test.py and detect.py by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3532 * Update `dataset_stats()` for HUB by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3536 * On-demand `pycocotools` pip install by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3547 * Update `check_python(minimum=3.6.2)` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3548 * Update README.md by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3550 * Remove `opt` from `create_dataloader()`` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3552 * Remove `is_coco` argument from `test()` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3553 * Multi-GPU default to single device 0 by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3554 * Update test.py profiling by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3555 * Remove redundant speed/study `half` argument by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3557 * Bump pip from 18.1 to 19.2 in /utils/google_app_engine by @dependabot in https://github.com/ultralytics/yolov5/pull/3561 * Refactor test.py arguments by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3558 * Refactor detect.py arguments by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3559 * Refactor models/export.py arguments by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3564 * Refactoring cleanup by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3565 * Ignore Seaborn plot warnings by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3576 * Update export.py, yolo.py `sys.path.append()` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3579 * Update stale.yml by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3585 * Add ConfusionMatrix `normalize=True` flag by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3586 * ConfusionMatrix `normalize=True` fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3587 * train.py GPU memory fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3590 * W&B: Allow changed in config variable by @AyushExel in https://github.com/ultralytics/yolov5/pull/3588 * Update `dataset_stats()` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3593 * Delete __init__.py by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3596 * Simplify README.md by @kalenmike in https://github.com/ultralytics/yolov5/pull/3530 * Update datasets.py by @masoodazhar in https://github.com/ultralytics/yolov5/pull/3591 * Download COCO and VOC by default by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3608 * Suppress wandb images size mismatch warning by @AyushExel in https://github.com/ultralytics/yolov5/pull/3611 * Fix incorrect end epoch by @wq9 in https://github.com/ultralytics/yolov5/pull/3612 * Update `check_file()` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3622 * Update README.md by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3624 * FROM nvcr.io/nvidia/pytorch:21.05-py3 by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3633 * Add `**/*.torchscript.pt` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3634 * Update `verify_image_label()` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3635 * RUN pip install --no-cache -U torch torchvision by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3637 * Assert non-premature end of JPEG images by @xiaowk5516 in https://github.com/ultralytics/yolov5/pull/3638 * Update CONTRIBUTING.md by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3645 * Update CONTRIBUTING.md by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3647 * `is_coco` list fix by @thanhminhmr in https://github.com/ultralytics/yolov5/pull/3646 * Update README.md by @SpongeBab in https://github.com/ultralytics/yolov5/pull/3650 * Update `dataset_stats()` to list of dicts by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3657 * Remove `/weights` directory by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3659 * Update download_weights.sh comment by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3662 * Update train.py by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3667 * Update `train(hyp, *args)` to accept `hyp` file or dict by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3668 * Update TensorBoard by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3669 * Update `WORLD_SIZE` and `RANK` retrieval by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3670 * Cache v0.3: improved corrupt image/label reporting by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3676 * EMA changes for pre-model's batch_size by @ZouJiu1 in https://github.com/ultralytics/yolov5/pull/3681 * Update README.md by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3684 * Update cache check by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3691 * Skip HSV augmentation when hyperparameters are [0, 0, 0] by @thanhminhmr in https://github.com/ultralytics/yolov5/pull/3686 * Slightly modify CLI execution by @lb-desupervised in https://github.com/ultralytics/yolov5/pull/3687 * Reformat by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3694 * Update DDP for `torch.distributed.run` with `gloo` backend by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3680 * Eliminate `total_batch_size` variable by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3697 * Add torch DP warning by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3698 * Add `train.run()` method by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3700 * Update DDP backend `if dist.is_nccl_available()` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3705 * [x]W&B: Don't resume transfer learning runs by @AyushExel in https://github.com/ultralytics/yolov5/pull/3604 * Update 4 main ops for paths and .run() by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3715 * Fix `img2label_paths()` order by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3720 * Fix typo in export.py by @fcakyon in https://github.com/ultralytics/yolov5/pull/3729 * Backwards compatible cache version checks by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3730 * Update `check_datasets()` for dynamic unzip path by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3732 * Create `data/hyps` directory by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3747 * Force non-zero hyp evolution weights `w` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3748 * edit comment for img2tensor process by @developer0hye in https://github.com/ultralytics/yolov5/pull/3759 * Add optional dataset.yaml `path` attribute by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3753 * COCO annotations JSON fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3764 * Add `xyxy2xywhn()` by @developer0hye in https://github.com/ultralytics/yolov5/pull/3765 * Remove DDP `nn.MultiheadAttention` fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3768 * fix/incorrect_fitness_import by @SkalskiP in https://github.com/ultralytics/yolov5/pull/3770 * W&B: Update Tables API and comply with new dataset_check by @AyushExel in https://github.com/ultralytics/yolov5/pull/3772 * NGA xView 2018 Dataset Auto-Download by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3775 * Update README.md fix banner width by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3785 * Objectness IoU Sort by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3610 * Update objectness IoU sort by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3786 * Create hyp.scratch-p6.yaml by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3787 * Fix datasets for aws and get_coco.sh by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3788 * Update seeds for single-GPU reproducibility by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3789 * Update Usage examples by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3790 * nvcr.io/nvidia/pytorch:21.06-py3 by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3791 * Update Dockerfile by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3792 * FROM nvcr.io/nvidia/pytorch:21.05-py3 by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3794 * Fix competition link by @batrlatom in https://github.com/ultralytics/yolov5/pull/3799 * Fix warmup `accumulate` by @yellowdolphin in https://github.com/ultralytics/yolov5/pull/3722 * Add feature map visualization by @Zigars in https://github.com/ultralytics/yolov5/pull/3804 * Update `feature_visualization()` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3807 * Fix for `dataset_stats()` with updated data.yaml by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3819 * Move IoU functions to metrics.py by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3820 * Concise `TransformerBlock()` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3821 * Fix `LoadStreams()` dataloader frame skip issue by @feras-oughali in https://github.com/ultralytics/yolov5/pull/3833 * Plot `AutoShape()` detections in ascending order by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3843 * Copy-Paste augmentation for YOLOv5 by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3845 * Add EXIF rotation to YOLOv5 Hub inference by @vaaliferov in https://github.com/ultralytics/yolov5/pull/3852 * `--evolve 300` generations CLI argument by @san-soucie in https://github.com/ultralytics/yolov5/pull/3863 * Add multi-stream saving feature by @ketan-b in https://github.com/ultralytics/yolov5/pull/3864 * Models `*.yaml` reformat by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3875 * Create `utils/augmentations.py` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3877 * Improved BGR2RGB speeds by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3880 * Evolution commented `hyp['anchors']` fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3887 * Hub models `map_location=device` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3894 * YOLOv5 + Albumentations integration by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3882 * Save PyTorch Hub models to `/root/hub/cache/dir` by @johnohagan in https://github.com/ultralytics/yolov5/pull/3904 * Feature visualization update by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3920 * Fix `torch.hub.list('ultralytics/yolov5')` pathlib bug by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3921 * Update `setattr()` default for Hub PIL images by @jmiranda-laplateforme in https://github.com/ultralytics/yolov5/pull/3923 * `feature_visualization()` CUDA fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3925 * Update `dataset_stats()` for zipped datasets by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3926 * Fix inconsistent NMS IoU value for COCO by @eldarkurtic in https://github.com/ultralytics/yolov5/pull/3934 * Feature visualization improvements 32 by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3947 * Update augmentations.py by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3948 * Cache v0.4 update by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3954 * Numerical stability fix for Albumentations by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3958 * Update `albumentations>=1.0.2` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3966 * Update `np.random.random()` to `random.random()` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3967 * Update requirements.txt `albumentations>=1.0.2` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3972 * `Ensemble()` visualize fix by @seven320 in https://github.com/ultralytics/yolov5/pull/3973 * Update `probability` to `p` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3980 * Alert (no detections) by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3984 * Update README.md by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/3996 * Rename `test.py` to `val.py` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4000 * W&B: Proposal for supporting W&B sweeps by @AyushExel in https://github.com/ultralytics/yolov5/pull/3938 * Update greetings.yml by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4024 * Add `--sync-bn` known issue by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4032 * Update greetings.yml by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4037 * Update README.md by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4041 * AutoShape PosixPath support by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4047 * `val.py` refactor by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4053 * Module `super().__init__()` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4065 * Missing `nc` and `names` handling in check_dataset() by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4066 * Albumentations >= 1.0.3 by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4068 * W&B: fix refactor bugs by @AyushExel in https://github.com/ultralytics/yolov5/pull/4069 * Refactor `export.py` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4080 * Addition refactor `export.py` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4089 * Add train.py `--img-size` floor by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4099 * Update resume.py by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4115 * Fix indentation in `log_training_progress()` by @imyhxy in https://github.com/ultralytics/yolov5/pull/4126 * Update README.md by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4134 * detect.py ONNX inference feature by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4073 * Rename `opset_version` to `opset` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4135 * Update train.py by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4136 * Refactor train.py and val.py `loggers` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4137 * Update README.md by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4143 * Add `export.py` ONNX inference suggestion by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4146 * New CSV Logger by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4148 * Update dataset comments by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4162 * Update script headers by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4163 * W&B: Improve documentation of the logger & use wandb assigned run names by default by @AyushExel in https://github.com/ultralytics/yolov5/pull/4174 * Update comments header by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4184 * Train from `--data path/to/dataset.zip` feature by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4185 * Create yolov5-bifpn.yaml by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4195 * Update Hub Path inputs by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4200 * W&B: Restructure code to support the new dataset_check() feature by @AyushExel in https://github.com/ultralytics/yolov5/pull/4197 * Update yolov5-bifpn.yaml by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4208 * W&B: More improvements and refactoring by @AyushExel in https://github.com/ultralytics/yolov5/pull/4205 * PyCharm reformat by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4209 * Add `@try_except` decorator by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4224 * Explicit `requirements.txt` location by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4225 * Suppress torch 1.9.0 `max_pool2d()` warning by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4227 * Fix weight decay comment by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4228 * Update profiler by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4236 * Add `python train.py --freeze N` argument by @IneovaAI in https://github.com/ultralytics/yolov5/pull/4238 * Update `profile()` for CUDA Memory allocation by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4239 * Add `train.py` and `val.py` callbacks by @kalenmike in https://github.com/ultralytics/yolov5/pull/4220 * W&B: suppress warnings by @AyushExel in https://github.com/ultralytics/yolov5/pull/4257 * Update AP calculation by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4260 * Update Autoshape forward header by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4271 * Update variables by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4273 * Add `DWConvClass()` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4274 * Update 'results saved to' string by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4275 * W&B: Fix sweep bug by @AyushExel in https://github.com/ultralytics/yolov5/pull/4276 * Feature `python train.py --cache disk` by @junjihashimoto in https://github.com/ultralytics/yolov5/pull/4049 * Fixed logging level in distributed mode by @imyhxy in https://github.com/ultralytics/yolov5/pull/4284 * Simplify callbacks by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4289 * Evolve in CSV format by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4307 * Update newline by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4308 * Update README.md by @Justsubh01 in https://github.com/ultralytics/yolov5/pull/4309 * Simpler code for DWConvClass by @developer0hye in https://github.com/ultralytics/yolov5/pull/4310 * `int(mlc)` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4385 * fix module count in parse_model by @orangeccc in https://github.com/ultralytics/yolov5/pull/4379 * Update README.md by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4387 * W&B: Add advanced features tutorial by @AyushExel in https://github.com/ultralytics/yolov5/pull/4384 * W&B: Fix for 4360 by @AyushExel in https://github.com/ultralytics/yolov5/pull/4388 * Fix rename `utils.google_utils` to `utils.downloads` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4393 * Simplify ONNX inference command by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4405 * No cache option for reading datasets by @ahmadmustafaanis in https://github.com/ultralytics/yolov5/pull/4376 * Update plots.py PIL box plotting by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4407 * Add `yolov5s-ghost.yaml` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4412 * Remove `encoding='ascii'` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4413 * Merge PIL and OpenCV in `plot_one_box(use_pil=False)` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4416 * Standardize headers and docstrings by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4417 * Add `SPPF()` layer by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4420 * Remove DDP process group timeout by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4422 * Update hubconf.py `attempt_load` import by @OmidSa75 in https://github.com/ultralytics/yolov5/pull/4428 * TFLite preparation by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4436 * Add TensorFlow and TFLite export by @zldrobit in https://github.com/ultralytics/yolov5/pull/1127 * Fix default `--weights yolov5s.pt` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4458 * Fix missing labels after albumentations by @huuquan1994 in https://github.com/ultralytics/yolov5/pull/4455 * `check_requirements(('coremltools',))` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4478 * W&B: Refactor the wandb_utils.py file by @AyushExel in https://github.com/ultralytics/yolov5/pull/4496 * Add `install=True` argument to `check_requirements` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4512 * Automatic TFLite uint8 determination by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4515 * Fix for `python models/yolo.py --profile` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4541 * Auto-fix corrupt JPEGs by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4548 * Fix for corrupt JPEGs auto-fix PR by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4560 * Fix for AP calculation limits 0.0 - 1.0 by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4563 * ONNX opset 13 by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4566 * Add EarlyStopping feature by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4576 * Remove `image_weights` DDP code by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4579 * Add `Profile()` profiler by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4587 * Fix bug in `plot_one_box` when label is `None` by @karasawatakumi in https://github.com/ultralytics/yolov5/pull/4588 * Create `Annotator()` class by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4591 * Auto-UTF handling by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4594 * Re-order `plots.py` to class-first by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4595 * Update mosaic plots font size by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4596 * TensorBoard `on_train_end()` speed improvements by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4605 * Auto-download Arial.ttf on init by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4606 * Fix: add P2 layer 21 to yolov5-p2.yaml `Detect()` inputs by @YukunXia in https://github.com/ultralytics/yolov5/pull/4608 * Update `check_git_status()` warning by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4610 * W&B: Don't log models in evolve operation by @AyushExel in https://github.com/ultralytics/yolov5/pull/4611 * Close `matplotlib` plots after opening by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4612 * DDP `torch.jit.trace()` `--sync-bn` fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4615 * Fix for Arial.ttf redownloads with hub inference by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4627 * Fix 2 for Arial.ttf redownloads with hub inference by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4628 * Fix 3 for Arial.ttf redownloads with hub inference by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4629 * Fix for `plot_evolve()` string argument by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4639 * Fix `is_coco` on missing `data['val']` key by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4642 * Fixed 'meta' and 'hyp' may out of order when using evolve by @imyhxy in https://github.com/ultralytics/yolov5/pull/4657 * EarlyStopper updates by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4679 * Optimised Callback Class to Reduce Code and Fix Errors by @kalenmike in https://github.com/ultralytics/yolov5/pull/4688 * Remove redundant `ComputeLoss` code by @zhiqwang in https://github.com/ultralytics/yolov5/pull/4701 * Add suffix checks by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4711 * Fix `check_suffix()` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4712 * Update `check_yaml()` comment by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4713 * Add `user_config_dir('Ultralytics')` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4715 * Add `crops = results.crop()` dictionary by @ELHoussineT in https://github.com/ultralytics/yolov5/pull/4676 * Make CONFIG_DIR configurable per environment variable by @joaodiogocosta in https://github.com/ultralytics/yolov5/pull/4727 * Allow `multi_label` option for NMS with PyTorch Hub by @jeanbmar in https://github.com/ultralytics/yolov5/pull/4728 * Scope `onnx-simplifier` requirements check by @Zegorax in https://github.com/ultralytics/yolov5/pull/4730 * Fix `user_config_dir()` for GCP/AWS functions by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4726 * Fix `--data from_HUB.zip` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4732 * Improved `detect.py` timing by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4741 * Add `callbacks` to train function in W&B sweep by @jveitchmichaelis in https://github.com/ultralytics/yolov5/pull/4742 * Fix `is_writeable()` for 3 OS support by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4743 * Add TF and TFLite models to `.gitignore` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4747 * Add TF and TFLite models to `.dockerignore` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4748 * Update `is_writeable()` for 2 methods by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4744 * Centralize `user_config_dir()` decision making by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4755 * Replace `path.absolute()` with `path.resolve()` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4763 * Add TensorFlow formats to `export.py` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4479 * Update ci-testing.yml by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4770 * Update ci-testing.yml by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4772 * Shuffle all 4(or 9) images in mosaic augmentation by @kimnamu in https://github.com/ultralytics/yolov5/pull/4787 * Add `--int8` argument by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4799 * Evolution `--resume` fix by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4802 * Refactor `forward()` method profiling by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4816 * Feature/fix export on url by @kalenmike in https://github.com/ultralytics/yolov5/pull/4823 * Fix 'PyTorch starting from' for URL weights by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4828 * Multiple TF export improvements by @zldrobit in https://github.com/ultralytics/yolov5/pull/4824 * Fix val.py study plot by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4831 * `PIL.ImageDraw.text(anchor=...)` removal, reduce to `>=7.1.2` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4842 * Sorted datasets update to `cache_labels()` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4845 * Single `cache_version` definition by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4846 * W&B: Enable login timeout by @AyushExel in https://github.com/ultralytics/yolov5/pull/4843 * Consolidate `init_seeds()` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4849 * Refactor argparser printing to `print_args()` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4850 * Update `sys.path.append(str(ROOT))` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4852 * Simplify `check_requirements()` usage by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4855 * Update greetings.yml by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4856 * Update Dockerfile by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4861 * Update Dockerfile by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4862 * Fix DDP destruction `LOGGER.info()` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4863 * Annotator `check_font()` RANK -1 remove progress by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4864 * W&B: Login only in master processes by @AyushExel in https://github.com/ultralytics/yolov5/pull/4866 * W&B: Fix dataset check by @AyushExel in https://github.com/ultralytics/yolov5/pull/4879 * Fix arg help string to match 'classes' arg name. by @NauchtanRobotics in https://github.com/ultralytics/yolov5/pull/4893 * Avoid out-of-image class labels by @zldrobit in https://github.com/ultralytics/yolov5/pull/4902 * TensorFlow.js export enhancements by @zldrobit in https://github.com/ultralytics/yolov5/pull/4905 * fix zipfile name for coco128-segments by @SamFC10 in https://github.com/ultralytics/yolov5/pull/4914 * Replace `os.system('unzip file.zip')` -> `ZipFile.extractall()` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4919 * Fix `root` referenced before assignment by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4920 * Add Slack Forum badge to README by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4930 * Validate `best.pt` on train end by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4889 * Update default Albumentations by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4931 * Scope `check_file()` search space by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4933 * Update Dockerfile by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4935 * Automatic Chinese fonts plotting by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4951 * Allow YOLOv5 execution from arbitrary `cwd` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4954 * Update relative `ROOT` logic by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4955 * Add `roboflow` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4956 * Fix `isascii()` method calls for python 3.6 by @d57montes in https://github.com/ultralytics/yolov5/pull/4958 * Fix relative `ROOT` Pytorch Hub custom model bug by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4974 * Add Roboflow to README by @kalenmike in https://github.com/ultralytics/yolov5/pull/4972 * Update wandb_utils.py by @d57montes in https://github.com/ultralytics/yolov5/pull/4953 * Add Hub custom models to CI tests by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4978 * Faster `--img 64` CI tests by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4979 * Clickable CI badge by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4985 * Revert `torch.hub.load()` test by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/4986 * Fix URL parsing bug by @kalenmike in https://github.com/ultralytics/yolov5/pull/4998 * Update W&B README by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5006 * Add YOLOv5 Survey link to README.md by @kalenmike in https://github.com/ultralytics/yolov5/pull/5000 * Update train.py by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5014 * Update README.md by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5015 * Compute loss on final val by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5017 * Fix missing `opt.device` on `--task study` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5031 * Fix pylint: do not use bare 'except' by @zhiqwang in https://github.com/ultralytics/yolov5/pull/5025 * Clip TTA Augmented Tails by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5028 * Implement `--save-period` locally by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5047 * Fix `yaml.safe_load()` ignore emoji errors by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5060 * Update Dockerfile to `ADD` Arial.ttf by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5084 * Update datasets.py comments by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5088 * Re-open IP-camera videostream if disconnected by @EgOrlukha in https://github.com/ultralytics/yolov5/pull/5074 * Fix SKU-110K HUB: `OSError` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5106 * Add `requests` to requirements.txt by @sandstorm12 in https://github.com/ultralytics/yolov5/pull/5112 * Pass `LOCAL_RANK` to `torch_distributed_zero_first()` by @qiningonline in https://github.com/ultralytics/yolov5/pull/5114 * Fix different devices bug when moving model from GPU to CPU by @SamFC10 in https://github.com/ultralytics/yolov5/pull/5110 * Pass `--device` for `--task study` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5118 * Update val.py `--speed` and `--study` usages by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5120 * Update val.py `pad = 0.0 if task == 'speed' else 0.5` by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5121 * Update plots.py by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5127 * Fix `ROOT` as relative path by @maltelorbach in https://github.com/ultralytics/yolov5/pull/5129 * Refactor `Detect()` anchors for ONNX <> OpenCV DNN compatibility by @SamFC10 in https://github.com/ultralytics/yolov5/pull/4833 * Add OpenCV DNN option for ONNX inference by @glenn-jocher in https://github.com/ultralytics/yolov5/pull/5136 * update `detect.py` in order to support torch script by @andreiionutdamian in https://github.com/ultralytics/yolov5/pull/5109 New Contributors (73) * @robmarkcole made their first contribution in https://github.com/ultralytics/yolov5/pull/2732 * @timstokman made their first contribution in https://github.com/ultralytics/yolov5/pull/2856 * @Ab-Abdurrahman made their first contribution in https://github.com/ultralytics/yolov5/pull/2827 * @JoshSong made their first contribution in https://github.com/ultralytics/yolov5/pull/2871 * @MichHeilig made their first contribution in https://github.com/ultralytics/yolov5/pull/2883 * @r-blmnr made their first contribution in https://github.com/ultralytics/yolov5/pull/2890 * @fcakyon made their first contribution in https://github.com/ultralytics/yolov5/pull/2817 * @Ashafix made their first contribution in https://github.com/ultralytics/yolov5/pull/2658 * @albinxavi made their first contribution in https://github.com/ultralytics/yolov5/pull/2923 * @BZFYS made their first contribution in https://github.com/ultralytics/yolov5/pull/2934 * @ferdinandl007 made their first contribution in https://github.com/ultralytics/yolov5/pull/2932 * @jluntamazon made their first contribution in https://github.com/ultralytics/yolov5/pull/2953 * @hodovo made their first contribution in https://github.com/ultralytics/yolov5/pull/3010 * @jylink made their first contribution in https://github.com/ultralytics/yolov5/pull/2982 * @kepler62f made their first contribution in https://github.com/ultralytics/yolov5/pull/3058 * @KC-Zhang made their first contribution in https://github.com/ultralytics/yolov5/pull/3127 * @CristiFati made their first contribution in https://github.com/ultralytics/yolov5/pull/3137 * @cgerum made their first contribution in https://github.com/ultralytics/yolov5/pull/3104 * @adrianholovaty made their first contribution in https://github.com/ultralytics/yolov5/pull/3215 * @yeric1789 made their first contribution in https://github.com/ultralytics/yolov5/pull/3240 * @charlesfrye made their first contribution in https://github.com/ultralytics/yolov5/pull/3264 * @ChaofWang made their first contribution in https://github.com/ultralytics/yolov5/pull/3362 * @pizzaz93 made their first contribution in https://github.com/ultralytics/yolov5/pull/3368 * @tudoulei made their first contribution in https://github.com/ultralytics/yolov5/pull/3379 * @chocosaj made their first contribution in https://github.com/ultralytics/yolov5/pull/3422 * @SamSamhuns made their first contribution in https://github.com/ultralytics/yolov5/pull/3456 * @edificewang made their first contribution in https://github.com/ultralytics/yolov5/pull/3423 * @deanmark made their first contribution in https://github.com/ultralytics/yolov5/pull/3505 * @dependabot made their first contribution in https://github.com/ultralytics/yolov5/pull/3561 * @kalenmike made their first contribution in https://github.com/ultralytics/yolov5/pull/3530 * @masoodazhar made their first contribution in https://github.com/ultralytics/yolov5/pull/3591 * @wq9 made their first contribution in https://github.com/ultralytics/yolov5/pull/3612 * @xiaowk5516 made their first contribution in https://github.com/ultralytics/yolov5/pull/3638 * @thanhminhmr made their first contribution in https://github.com/ultralytics/yolov5/pull/3646 * @SpongeBab made their first contribution in https://github.com/ultralytics/yolov5/pull/3650 * @ZouJiu1 made their first contribution in https://github.com/ultralytics/yolov5/pull/3681 * @lb-desupervised made their first contribution in https://github.com/ultralytics/yolov5/pull/3687 * @batrlatom made their first contribution in https://github.com/ultralytics/yolov5/pull/3799 * @yellowdolphin made their first contribution in https://github.com/ultralytics/yolov5/pull/3722 * @Zigars made their first contribution in https://github.com/ultralytics/yolov5/pull/3804 * @feras-oughali made their first contribution in https://github.com/ultralytics/yolov5/pull/3833 * @vaaliferov made their first contribution in https://github.com/ultralytics/yolov5/pull/3852 * @san-soucie made their first contribution in https://github.com/ultralytics/yolov5/pull/3863 * @ketan-b made their first contribution in https://github.com/ultralytics/yolov5/pull/3864 * @johnohagan made their first contribution in https://github.com/ultralytics/yolov5/pull/3904 * @jmiranda-laplateforme made their first contribution in https://github.com/ultralytics/yolov5/pull/3923 * @eldarkurtic made their first contribution in https://github.com/ultralytics/yolov5/pull/3934 * @seven320 made their first contribution in https://github.com/ultralytics/yolov5/pull/3973 * @imyhxy made their first contribution in https://github.com/ultralytics/yolov5/pull/4126 * @IneovaAI made their first contribution in https://github.com/ultralytics/yolov5/pull/4238 * @junjihashimoto made their first contribution in https://github.com/ultralytics/yolov5/pull/4049 * @Justsubh01 made their first contribution in https://github.com/ultralytics/yolov5/pull/4309 * @orangeccc made their first contribution in https://github.com/ultralytics/yolov5/pull/4379 * @ahmadmustafaanis made their first contribution in https://github.com/ultralytics/yolov5/pull/4376 * @OmidSa75 made their first contribution in https://github.com/ultralytics/yolov5/pull/4428 * @huuquan1994 made their first contribution in https://github.com/ultralytics/yolov5/pull/4455 * @karasawatakumi made their first contribution in https://github.com/ultralytics/yolov5/pull/4588 * @YukunXia made their first contribution in https://github.com/ultralytics/yolov5/pull/4608 * @zhiqwang made their first contribution in https://github.com/ultralytics/yolov5/pull/4701 * @ELHoussineT made their first contribution in https://github.com/ultralytics/yolov5/pull/4676 * @joaodiogocosta made their first contribution in https://github.com/ultralytics/yolov5/pull/4727 * @jeanbmar made their first contribution in https://github.com/ultralytics/yolov5/pull/4728 * @Zegorax made their first contribution in https://github.com/ultralytics/yolov5/pull/4730 * @jveitchmichaelis made their first contribution in https://github.com/ultralytics/yolov5/pull/4742 * @kimnamu made their first contribution in https://github.com/ultralytics/yolov5/pull/4787 * @NauchtanRobotics made their first contribution in https://github.com/ultralytics/yolov5/pull/4893 * @SamFC10 made their first contribution in https://github.com/ultralytics/yolov5/pull/4914 * @d57montes made their first contribution in https://github.com/ultralytics/yolov5/pull/4958 * @EgOrlukha made their first contribution in https://github.com/ultralytics/yolov5/pull/5074 * @sandstorm12 made their first contribution in https://github.com/ultralytics/yolov5/pull/5112 * @qiningonline made their first contribution in https://github.com/ultralytics/yolov5/pull/5114 * @maltelorbach made their first contribution in https://github.com/ultralytics/yolov5/pull/5129 * @andreiionutdamian made their first contribution in https://github.com/ultralytics/yolov5/pull/5109